尝试在VS2010中调试NUnit测试,而不是在断点上停止。它是我最后一次尝试调试测试(可能是1年前),但现在它不起作用。
我尝试了以下内容:
我已尝试附加,重新检查我的安装,更新了配置文件,因此它使用的是4.0运行时,仍未点击断点。
我错过了什么?
答案 0 :(得分:2)
这是一个姗姗来迟的问题,但我还没有看到在Visual Studio中直接调试NUnit测试的解决方案。这很容易实现,没有任何第三方工具。您所要做的就是配置您的测试项目(这只是一个普通的旧类库项目),这样当您点击 F5 或 Ctrl-F5 时,它将启动NUnit测试运行器(只是运行,没有调试)。
特别是您必须配置项目属性以启动外部程序:
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(或嵌入信息)。
答案 8 :(得分:-1)
尝试将测试更改为x64。从菜单中选择
var key = "cv_" + i;
- &gt; Test
- &gt; Test Settings
- &gt; Default Processor Architecture
。
答案 9 :(得分:-3)
我想你不能用Visual Studio调试。更好的安装TestDriven.NET。
然后