我尝试将 Moles 与 NUnit 一起使用,但收到以下错误“Moles 需要测试才能成为仪表化过程”。我还在 Visual Studio 2008 中使用 Visual NUnit 来实现此功能。欢迎任何帮助。
为了让 Moles 能够与 NUnit 一起工作,我这样做了:
获取存档于C:\Program Files (x86)\Microsoft Moles\Documentation\moles.samples.zip
并提取Moles
解决方案文件夹。
构建NUnit
Visual Studio (2008) 中的项目用于发布。
复制输出文件Microsoft.Moles.NUnit.dll
and Microsoft.Moles.NUnit.xml
from ...\Moles\NUnit\bin\Release\
to C:\Program Files (x86)\NUnit 2.5.9\bin\net-2.0\addins\
。我怀疑重新编译 NUnit 插件而不是使用来自下载和安装的插件的这一步骤才是真正的解决点。
在您的 VS 测试项目中,确保添加对C:\Program Files (x86)\NUnit 2.5.9\bin\net-2.0\addins\Microsoft.Moles.NUnit.dll
你刚刚复制了。
在您的 VS 测试类中,使用以下标记测试方法[Moled]
属性(这将需要一个using Microsoft.Moles.Framework.NUnit
)。作为替代方案,将其实现包装在using (MolesContext.Create()) { ... }
块(这将需要一个using Microsoft.Moles.Framework
).
从命令行,使用以下命令通过 moles 运行程序调用 NUnit 测试运行程序:"C:\Program Files (x86)\Microsoft Moles\bin\moles.runner.exe" "path\to\your\test\assembly.dll" /r:"C:\Program Files (x86)\NUnit 2.5.9\bin\net-2.0\nunit-console.exe" /x86 /args:"/domain=None"
我发现[Moled]属性does not使用 [TestCase(...)] ,它会让您回到未检测的错误场景。相反,using (MolesContext.Create())
block 在这种情况下也适用。
一旦发现一切正常,您可能会考虑将moles runner 作为 Visual Studio 中的外部工具运行。按照中的说明进行操作使用 Visual Studio 中的 NUnit 控制台运行 Moles http://krishnabhargav.blogspot.com/2010/04/running-moles-using-nunit-console-from.html,按照步骤 6 更新参数。
请注意,这是在 Windows 7 64 位计算机上进行的,带有 NUnit 2.5.9、Microsoft Pex 和 Moles (x86) 0.94.51006.1。考虑不同路径、版本等的实际文件夹。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)