首页 文章

VS 2010的NUnit不再停在断点处

提问于
浏览
3

对此的答案必须简单,但我肯定不会看到它 .

我正在开发一个VS2010下的MVC2项目,用NUnit编写单元测试 .

我通过启动NUnit GUI,然后在VS中单击Debug - > Attach To Process,并附加到nunit-agent来调试测试(和代码) .

这一切都运作良好一段时间 .

我为今天早上发现的一个错误添加了一个额外的测试,突然间,我的断点没有被击中 . NUnit只是快速地运行并说测试通过(它不应该,因为我还没有修复bug),而没有停止在我在测试方法的第一个可执行行上设置的断点 .

我看了我能想到的一切,包括重新启动机器,我无法弄清楚改变了什么 . (FWIW,测试项目配置为在.NET 3.5下运行,我正在运行NUnit 2.5.4 . 我已将4.0“supportedRuntime”标志和“loadFromRemoteResources”标志添加到nunit.exe.config部分,并且我也试过附加到nunit.exe而不是nunit-agent.exe . 请注意,我没有得到“源代码无法加载”消息的禁用断点按钮 . 断点是标准的红球,它们永远不会得到击中 . )

2 回答

  • 0

    答案很简单 .

    在某个地方,我一直在使用VS2010通过附加到浏览器来调试脚本代码 . 当您附加到调试器中的进程时,您必须告诉它正在调试哪种代码,并且调试脚本代码与调试托管代码不兼容,因此它会关闭托管代码 . 显然VS会记住你最后的选择 .

    因此,当我尝试连接到N-Unit时,它选择Script作为我想要调试的代码类型,而我没有注意到 . 我所要做的就是选择“附加到进程”对话框中的下拉框,然后检查托管代码 .

    感谢Paul Laudeman在他的CodeBetter Blog

  • 3

    尝试附加到nunit-agent.exe进程 . 这对我有用 .

相关问题