我最近在为我正在开发的一些C#代码构建一个测试框架。我已经设置好了NUnit,并在我的工作区内创建了一个新项目来测试组件。如果我从NUnit(v2.4)加载我的单元测试,一切都运行良好,但我现在想在调试模式下运行并设置一些断点。
我尝试了几个指南中的建议,这些指南都建议更改测试项目的“调试”属性:
Start external program: C:\Program Files\NUnit 2.4.8\bin\nunit-console.exe
Command line arguments: /assembly: <full-path-to-solution>\TestDSP\bin\Debug\TestDSP.dll
我正在使用控制台版本,但也尝试过调用 GUI。无论哪种方式,在我尝试开始调试时都会给我相同的错误:
Cannot start test project 'TestDSP' because the project does not contain any tests.
这是因为我通常在Nunit GUI中加载 \DSP.nunit,测试就在那里进行吗?我开始觉得问题可能是因为VS想要运行自己的测试框架,这就是为什么它找不到NUnit测试的原因?
编辑:对于那些询问测试固件的人,我的TestDSP项目中的一个.cs文件大致如下:
namespace Some.TestNamespace
{
// Testing framework includes
using NUnit.Framework;
[TestFixture]
public class FirFilterTest
{
[Test]
public void Test01_ConstructorTest()
{
...some tests...
}
}
}
...我对C#和NUnit测试框架还比较陌生,所以很可能我错过了一些关键信息;-)
最终解决方案:这个大问题是由我使用的项目引起的。如果你选择 其他语言 -> Visual C# -> 测试 -> 测试项目
...当你选择项目类型时,Visual Studio 将尝试使用它自己的测试框架。你应该选择一个普通的C#类库项目,然后按照我选定答案中的说明操作。