尝试在 VS2010 中调试 NUnit 测试并且没有在断点处停止。上次我尝试需要调试测试时(可能是 1 年前)它正在工作,但现在它不起作用。
我尝试了以下方法:
我试过附加,重新检查我的安装,更新配置文件,所以它使用 4.0 运行时,仍然没有命中断点。
我错过了什么?
尝试在 VS2010 中调试 NUnit 测试并且没有在断点处停止。上次我尝试需要调试测试时(可能是 1 年前)它正在工作,但现在它不起作用。
我尝试了以下方法:
我试过附加,重新检查我的安装,更新配置文件,所以它使用 4.0 运行时,仍然没有命中断点。
我错过了什么?
这是一个早该提出的问题,但我还没有看到直接在 Visual Studio 中调试 NUnit 测试的解决方案。这很容易实现,无需任何第三方工具。您所要做的就是配置您的测试项目(这只是一个普通的旧类库项目),以便在您点击F5或Ctrl-F5(仅运行,无需调试)时启动 NUnit 测试运行程序。
特别是你必须配置你的项目属性来启动一个外部程序:
逐步配置在这篇博文中有很好的描述。它建议您在尝试运行库项目时使用 NuGet 获取 NUnit 测试运行程序并配置项目以执行运行程序。就如此容易。不使用通常不是免费的特定工具。
您只能在 VS Studio 社区版本中调试 nunit 测试。为此,您需要安装Nunit3testAdpter
. 您可以在工具 -> 扩展和更新中添加它。或来自 Nuget 包。
发生这种情况的原因有多种。如果您的应用程序的目标框架与 NUnit 的不同,那么您将无法调试,因为测试实际上是由 nunit-agent.exe 运行的。
对我来说,我的应用程序使用的是 4.5,但 NUnit 使用的是 3.5。(您可以从 NUnit GUI 应用程序之一 -> 帮助 -> 关于中找到它)
要解决此问题,请将 nunit.exe.config 文件更改为在配置部分中包含以下内容:
<startup>
<requiredRuntime version="4.0.30319" />
</startup>
前几天我在 NUnit 调试中没有遇到断点。我花了一段时间才意识到有人将测试复制/粘贴到不同的文件中,而我运行的测试与断点所在的测试不同。
我最近遇到了类似的问题。将项目平台更改为 AnyCPU 为我解决了这个问题。也值得检查:
1) 检查 NUnit 的最新版本(我使用的是 2.5.7,更新到 2.6.2) 2) 测试项目的目标框架。我使用的是 .NET 4.0(您可以在 VS2010 上的属性 -> 应用程序下找到它)
至少到 vs2010 调试器只能调试 32 位应用程序,但不能调试 64 位应用程序。
对于 vs2010,我使用的是32 位 nunit.exe 版本并使用“附加到调试器”。这对我很有效。
请升级 NUnit 测试扩展并关闭 Visual Studio,以便 Visx(可能是拼写)运行并更新 NUnit 工具。在此之后,您可以打开您的项目并运行 NUnit 测试项目。它会运行。我测试准确。
尝试将测试更改为 x64。从菜单做
Test
-> Test Settings
-> Default Processor Architecture
-> x64
。
我想你不能用 Visual Studio 调试。最好安装 TestDriven.NET。
然后