我是否可以使NUnit GUI在断点/失败测试中进入Visual Studio调试器?

Nic*_*yer 5 .net debugging nunit visual-studio

使用NUnit GUI运行单元测试时,有没有办法:

  • 在测试中设置断点,
  • 或者在测试失败时闯入Visual Studio实时调试器?

小智 6

不要担心附加到过程的麻烦.这很快变老了.相反,转到单元测试项目的属性,并在Debug选项卡中,将"Start external program:"设置为指向nunit.exe,并在"命令行参数"文本框中添加输出dll名称(例如UnitTests .DLL)


Ste*_*idi 5

您的第一个要求非常简单.将VS调试器连接到NUnit GUI(工具 - >附加到进程)并相应地设置断点.当附加调试器运行测试时,将触发断点.

第二个要求也很简单,但我还没有验证它是否可行(也就是说,我知道它会破坏,但我不会在多远的用户代码中破坏它).当单元测试失败时,NUnit框架会引发一个NUnit.Framework.AssertionException.抛出此异常时将调试器设置为中断,并且您不需要在代码中设置断点.要做到这一点,请访问调试- >例外...,然后选择添加....选择Common Language Runtime Exception并输入NUnit异常的完整typename(包括命名空间).最后,在原始异常屏幕中,选择新的异常并单击Thrown.

同样,您需要使用附加的调试器运行测试,以便在抛出异常时捕获它.