visual-studio-2010 - NUnit 2.5.7 需要在 VS2010 下显式调试附加

标签 visual-studio-2010 debugging nunit

我刚刚从 NUnit 2.5.2“升级”到 NUnit 2.5.7,这样我就可以针对使用 .Net Framework 4 构建的 DLL 运行单元测试。我已经使用 2.5.2 很长时间了,通过项目属性下的“StartExternalProgram”属性。在那种情况下,我从来不需要显式调试附加到 NUnit 进程。

现在在 2.5.7 下,似乎必须显式附加到 NUnit_Agent 进程才能调试被测代码。

当然,这意味着不再需要单击两次来运行我的单元测试,我现在必须单击 VS2010 中的 Debug.Run 图标,等待 NUnit GUI 出现,alt-Tab 返回 VS2010,单击 Debug.Attach.. ,向下滚动列表找到 NUnit Agent,双击选中它,alt-Tab 回到 NUnit GUI,点击 Run 运行测试。

那么,在 2.5.7 下使用 NUnit 变得如此困难是有原因的还是丢球了?

提前感谢您提供有关从早期版本恢复“自动附加”的任何建议。

最佳答案

问题是 NUnit 正在启动一个子进程 (nunit-agent.exe)。我可以通过打开 nunit.exe.config 并添加以下部分来解决这个问题:

<startup>
    <supportedRuntime version="v4.0.30319" />
</startup>

编辑:如果您仍想将 nunit 与 .Net 2.0 一起使用,请确保也添加该版本。我的配置最终看起来像这样:

<startup>
    <supportedRuntime version="v2.0.50727" />
    <supportedRuntime version="v4.0.30319" />
</startup>

编辑 2:我最近还发现条目的顺序也有所不同。

关于visual-studio-2010 - NUnit 2.5.7 需要在 VS2010 下显式调试附加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3542904/

相关文章:

visual-studio-2010 - 如何将 Visual Studio 2010 解决方案设为只读?

c# - 如何访问同一解决方案中两个应用程序中的断点

debugging - erlang调试(初级)io :format or what?

android - 如何检查sqlite数据库中的表是否存在,如果不存在则创建一个并插入数据

c# - 测试除一个特定组合之外的所有参数组合

c# - 由于Windows系统崩溃,C#解决方案和源文件已损坏

android - phonegap开发环境

c++ - 应用程序无法启动,因为未找到 MSVCP100D.dll,重新安装应用程序可能有效

c#-4.0 - 单元测试代码契约(Contract)

c# - 如何将整个类(class)标记为 "Inconclusive"?