3

尝试在 VS2010 中调试 NUnit 测试并且没有在断点处停止。上次我尝试需要调试测试时(可能是 1 年前)它正在工作,但现在它不起作用。

我尝试了以下方法:

我试过附加,重新检查我的安装,更新配置文件,所以它使用 4.0 运行时,仍然没有命中断点。

我错过了什么?

4

10 回答 10

2

这是一个早该提出的问题,但我还没有看到直接在 Visual Studio 中调试 NUnit 测试的解决方案。这很容易实现,无需任何第三方工具。您所要做的就是配置您的测试项目(这只是一个普通的旧类库项目),以便在您点击F5Ctrl-F5(仅运行,无需调试)时启动 NUnit 测试运行程序。

特别是你必须配置你的项目属性来启动一个外部程序:

项目配置

逐步配置在这篇博文中有很好的描述。它建议您在尝试运行库项目时使用 NuGet 获取 NUnit 测试运行程序并配置项目以执行运行程序。就如此容易。不使用通常不是免费的特定工具。

于 2015-07-22T12:29:30.543 回答
2

您只能在 VS Studio 社区版本中调试 nunit 测试。为此,您需要安装Nunit3testAdpter. 您可以在工具 -> 扩展和更新中添加它。或来自 Nuget 包。

于 2018-02-14T14:29:03.803 回答
1

发生这种情况的原因有多种。如果您的应用程序的目标框架与 NUnit 的不同,那么您将无法调试,因为测试实际上是由 nunit-agent.exe 运行的。

对我来说,我的应用程序使用的是 4.5,但 NUnit 使用的是 3.5。(您可以从 NUnit GUI 应用程序之一 -> 帮助 -> 关于中找到它)

要解决此问题,请将 nunit.exe.config 文件更改为在配置部分中包含以下内容:

<startup>
  <requiredRuntime version="4.0.30319" />
</startup>
于 2015-11-06T12:13:49.760 回答
1

当您的 PDB 生成设置为embedded. 将其切换到full将允许 nunit 测试适配器从附加的调试器开始。此时可以切换回embedded它,它将再次调试。

该设置位于项目属性页面的“构建”选项卡中,然后单击“高级”按钮。我总是在顶部选择“所有配置”,因此我确保在构建发布配置程序集时也发出有用的 PDB(或嵌入信息)。 在此处输入图像描述

于 2020-09-14T00:40:11.500 回答
0

前几天我在 NUnit 调试中没有遇到断点。我花了一段时间才意识到有人将测试复制/粘贴到不同的文件中,而我运行的测试与断点所在的测试不同。

于 2012-11-30T20:27:57.957 回答
0

我最近遇到了类似的问题。将项目平台更改为 AnyCPU 为我解决了这个问题。也值得检查:

1) 检查 NUnit 的最新版本(我使用的是 2.5.7,更新到 2.6.2) 2) 测试项目的目标框架。我使用的是 .NET 4.0(您可以在 VS2010 上的属性 -> 应用程序下找到它)

于 2013-09-02T14:54:28.193 回答
0

至少到 vs2010 调试器只能调试 32 位应用程序,但不能调试 64 位应用程序。

对于 vs2010,我使用的是32 位 nunit.exe 版本并使用“附加到调试器”。这对我很有效。

于 2013-09-02T15:21:33.787 回答
0

请升级 NUnit 测试扩展并关闭 Visual Studio,以便 Visx(可能是拼写)运行并更新 NUnit 工具。在此之后,您可以打开您的项目并运行 NUnit 测试项目。它会运行。我测试准确。

于 2019-06-28T10:11:47.517 回答
-1

尝试将测试更改为 x64。从菜单做

Test-> Test Settings-> Default Processor Architecture-> x64

于 2017-08-02T23:04:56.533 回答
-3

我想你不能用 Visual Studio 调试。最好安装 TestDriven.NET。

然后

  1. 将 BreakPoint 放在测试方法上
  2. 右键单击测试方法。
  3. 选择TestWith->调试器
于 2012-12-03T08:30:21.603 回答