我最近一直在为我一直在研究的一些 C# 构建一个测试框架。我在我的工作区中设置了 NUnit 和一个新项目来测试该组件。如果我从 Nunit (v2.4) 加载我的单元测试,一切都很好,但我已经到了在 Debug模式下运行并设置一些断点非常有用的地步。
我已经尝试了几个指南中的建议,它们都建议更改测试项目的“调试”属性:
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.
这是因为我通常将\DSP.nunit 加载到 Nunit GUI 中并且那是进行测试的地方吗?
我开始认为问题可能是 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 测试框架还很陌生,所以我完全有可能错过了一些关键信息;-)
最终解决方案:最大的问题是我使用的项目。如果您选择 Other Languages -> Visual C# -> Test -> Test Project
...当您选择项目类型时,Visual Studio 将尽可能使用它自己的测试框架告诉。您应该选择一个普通 C# 类库项目,然后我选择的答案中的说明将起作用。
最佳答案
当我需要调试我的 NUnit 测试时,我只需使用“Debug|Attach to Process”附加到 NUnit GUI 应用程序 nunit-agent.exe
并从 GUI 运行测试。我的测试(或他们正在测试的代码)中的任何断点都被命中。我是否误解了您的问题,或者这对您有用吗?
关于c# - 如何从 Visual Studio 以 Debug模式运行 NUnit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/759854/