【发布时间】:2023-03-15 21:20:01
【问题描述】:
我的平台:Visual C# 2008 Express Edition with NUnit 2.2.7
我有一个解决方案,我的代码在一个项目中,我的 NUnit 单元测试在同一个解决方案的不同项目中。
我一直在努力调试和单步执行 NUnit 测试。我在网上找到了一些建议调用以下内容的参考资料:
NUnit.ConsoleRunner.Runner.Main(args);
但这甚至不能编译 - 它有编译器错误:
错误 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 有任何更好的建议而无需支付额外的插件,我非常感谢您的建议。
【问题讨论】:
-
一般来说,如果你做对了,而且步骤很小,你真的不应该使用调试器。但你可能处于不同的境地..
标签: c# visual-studio-2008 nunit