我一直在尝试在F#项目中使用Pex,但遇到了一些问题,希望对他们有所帮助:

  • Visual Studio Pex外接程序工作了半个小时,而不是用于复杂的项目探索。
  • 之后,每次我在Visual Studio 2010中运行Pex Exploration时,都会收到!warning! [metadata] no explorations found after applying all filters; did you forget a [PexClass] or [PexMethod] attribute?错误消息。如果我在进行探索时复制并粘贴Visual Studio运行的命令并删除一些属性(例如sourceFilter ...),然后从命令控制台运行它,那么我会得到一些生成的测试。知道Visual Studio为什么生成无效命令吗?
  • 过一会儿,Microsoft.Pex.Framework.dll从.Net引用列表中消失,我必须使用其文件路径手动对其进行引用,或者甚至不能再对其进行引用,因此必须卸载/重新安装Pex。 (A reference to C:\Program Files (x86)\Microsoft Moles\PublicAssemblie\Microsoft.Pex.Framework.dll could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component.)

  • 当我从事C#项目时,所有这些问题都不会发生。

    学术版出现1 2 3问题。

    使用MSDN订户可用的版本,我从来没有在Visual Studio(Visual Studio 2010 Ultimate NO SP1)中使用它。但是,它在命令提示符下起作用。我没有遇到此版本的问题3。

    有没有人设法让Pex在Visual Studio中使用F#?如果可以,你能告诉我你是怎么做到的吗?您使用哪个版本(VS和Pex)?

    最佳答案

    我在使用F#运行Pex方面取得了一些成功。如果我相信我的下载文件夹,则使用的版本是Microsoft Pex和Moles 0.94.51006.1 Release(x86)的学术版本。安装文件名为pex.academic.x86.msi。

    我不知道该版本是否早于您的版本。

    我从试用中得到的印象是Pex和F#并不是很好的组合:Pex坚持使用空输入创建测试用例。由于在F#中生成空值并不是很常见,因此通常不是我感兴趣的场景。添加许多假设以消除那些只是使我感到无法使用Pex生成测试用例的假设。诚然,我正在测试的功能太复杂了,我仍然喜欢Pex背后的想法,并且可能会在更小/更轻松的代码段上再次尝试。

    在VS 2010中使用Pex及其GUI相对较好,但并非没有挫败感。

    关于visual-studio-2010 - Visual Studio 2010 Ultimate中的Pex和F#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6953903/

    10-14 22:49