我的平台:带有NUnit 2.2.7的Visual C#2008 Express Edition
我的代码在一个项目中有一个解决方案,我的NUnit单元在同一个解决方案中的另一个项目中进行测试.
我一直在努力调试和单步执行NUnit测试.我在网上发现了一些建议调用以下内容:
NUnit.ConsoleRunner.Runner.Main(args);
但这甚至没有编译 - 它有编译器错误:
错误1命名空间"NUnit.ConsoleRunner"中不存在类型或命名空间名称"Runner"(您是否缺少程序集引用?)
我添加了我能找到的每个装配参考,没有效果.
最后,这就是我一起攻击它并且它有效,但也许你好的读者可以提出一个更好的解决方案:
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有任何更好的建议,我感谢您的建议.