我们的团队正致力于为.Net项目编写单元测试。我们使用“Visual Studio 2010”IDE,“NUnit”(v.2.5.9)单元测试框架和“Microsoft Moles”类型隔离框架。
我们遇到了一个问题:我们无法调试使用Moles的单元测试(而不使用它的测试没有问题)。使用Moles的测试失败,并显示以下错误消息:
Microsoft.Moles.Framework.Moles.MoleInvalidOperationException:Moles要求测试处于检测过程中。
有没有人知道为什么那些测试的调试不起作用? 提前谢谢!
答案 0 :(得分:0)
来自Moles手册:
<强>装配强>
Microsoft.Moles.NUnit.dll 您必须通过在NUnit bin / addins 文件夹中复制Microsoft.Moles.NUnit.dll程序集来向NUnit注册该加载项。
NUnit版本
2.5.2.9222(对于其他NUnit版本,从源代码重新编译属性)
使用示例
using NUnit.Framework;
using Microsoft.Moles.Framework.NUnit;
[TestFixture]
public class NUnitTest
{
[Test]
[Moled] // set up of the mole context around the test case
public void TestWithMoles() {
...
}
// alternative not using [Moled]
[Test]
public void TestWithMoles() {
using(MolesContext()) { // clears moles leaving context
...
}
}
}
命令行
确保在调用NUnit控制台运行程序时使用/ domain = None参数。
moles.runner.exe /r:nunit-console.exe /args=”/domain=None” ..