调试NUnit测试的最佳方法是什么?

Kev*_* P. 12 c# nunit visual-studio-2008

我的平台:带有NUnit 2.2.7的Visual C#2008 Express Edition

我的代码在一个项目中有一个解决方案,我的NUnit单元在同一个解决方案中的另一个项目中进行测试.

我一直在努力调试和单步执行NUnit测试.我在网上发现了一些建议调用以下内容:

NUnit.ConsoleRunner.Runner.Main(args);
Run Code Online (Sandbox Code Playgroud)

但这甚至没有编译 - 它有编译器错误:

错误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();
Run Code Online (Sandbox Code Playgroud)

这有效,我可以调试并单步执行测试用例.

如果有人在没有支付额外插件的情况下使用Visual Studio 2008 Express有任何更好的建议,我感谢您的建议.

Dav*_*itt 0

在我的店里,我们完全按照您的方式做。不利的一面是,这意味着设置可能与 NUnit 的设置不完全一样。从好的方面来说,它非常简单,并且允许创建一个最小的环境来重现错误。