我刚刚从 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/