我的平台:Visual C# 2008 Express Edition和NUnit 2.2.7
我的代码在一个项目中,我的NUnit单元测试在同一个解决方案的另一个项目中。
我一直很努力地调试和单步执行NUnit测试。我在网上找到了一些参考资料,建议调用以下内容:
NUnit.ConsoleRunner.Runner.Main(args);
但是这段代码甚至无法编译 - 它会出现编译器错误:
Error 1 类型或命名空间名称“Runner”在命名空间“NUnit.ConsoleRunner”中不存在(是否缺少程序集引用?)
我已经添加了所有可能找到的程序集引用,但没有效果。
最终,这是我所拼凑出来的代码,并且可以运行,但也许您读者可以提供更好的解决方案:
1) 在我的测试项目中,我想要调试的测试用例的类名为MyTestClass。它有一个名为Init()的[TestFixtureSetUp]方法和实际的测试用例在[Test]函数MyTest()中。
2) 在我的代码项目中,我有一个名为TestProgram.cs的控制台程序,它被编译为EXE。
在TestProgram.cs中,我以以下方式调用测试用例:
// First instantiate the test class
MyTestClass tc = new MyTestClass();
// Call the TestFixtureSetup method
tc.Init();
// Now call the actual test
tc.MyTest();
这行代码有效,我可以调试并单步执行测试用例。
如果有人在不支付额外插件的情况下使用 Visual Studio 2008 Express 有更好的建议,我会感激你的建议。