无法使用Visual Studio调试NUnit测试

时间:2012-11-30 19:38:10

标签: visual-studio-2010 visual-studio unit-testing nunit

尝试在VS2010中调试NUnit测试,而不是在断点上停止。它是我最后一次尝试调试测试(可能是1年前),但现在它不起作用。

我尝试了以下内容:

我已尝试附加,重新检查我的安装,更新了配置文件,因此它使用的是4.0运行时,仍未点击断点。

我错过了什么?

10 个答案:

答案 0 :(得分:2)

这是一个姗姗来迟的问题,但我还没有看到在Visual Studio中直接调试NUnit测试的解决方案。这很容易实现,没有任何第三方工具。您所要做的就是配置您的测试项目(这只是一个普通的旧类库项目),这样当您点击 F5 Ctrl-F5 时,它将启动NUnit测试运行器(只是运行,没有调试)。

特别是您必须配置项目属性以启动外部程序:

Project configuration

this blog post中详细描述了逐步配置。它建议您使用NuGet获取NUnit测试运行器并配置项目以在您尝试运行库项目时执行运行程序。就如此容易。 不使用特定工具,这些工具通常不是免费的。

答案 1 :(得分:1)

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

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

找到它

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

<startup>
  <requiredRuntime version="4.0.30319" />
</startup>

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

1)检查NUnit的最新版本(我使用的是2.5.7,更新为2.6.2) 2)您的测试项目的目标框架。我使用的是.NET 4.0(你可以在Properties - &gt; Application,VS2010上找到它)

答案 4 :(得分:0)

至少在vs2010之前,调试器只能调试32位应用程序而不能调试64位应用程序。

使用vs2010我使用 32位nunit.exe版本并使用“attach to debugger”。这对我很有用。

答案 5 :(得分:0)

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

答案 6 :(得分:0)

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

答案 7 :(得分:0)

当您的PDB生成设置为embedded时,也会发生这种情况。将其切换为full将使nunit测试适配器可以从连接的调试器开始。此时可以将其切换回embedded,它将再次调试。

设置位于项目属性页的“构建”选项卡中,然后单击“高级”按钮。我总是在顶部选择“所有配置”,因此确保在构建Release配置程序集时也要发出有用的PDB(或嵌入信息)。 enter image description here

答案 8 :(得分:-1)

尝试将测试更改为x64。从菜单中选择

var key = "cv_" + i; - &gt; Test - &gt; Test Settings - &gt; Default Processor Architecture

答案 9 :(得分:-3)

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

然后

  1. 将BreakPoint放在测试方法
  2. 右键单击测试 方法
  3. 选择TestWith-&gt; Debugger