chr*_*kar 32 .net c# debugging unit-testing xunit
我正在学习xUnit,到目前为止,已经发现它是一个非常有用的工具.这让我重新考虑我的一些编码策略而不是TDD.
但是,我遇到了一个有趣的问题.我的测试用例失败了.没有真正的担忧,但我该如何调试呢?
特别是我的测试用例由于"索引缺失"错误或其他类似错误而失败.它在断言声明中没有失败.我现在需要的是运行Visual Studio调试器的测试用例的一些方法,以便我可以看到不同变量的状态.
我不会发布代码,因为这种情况必然会再次出现.有谁知道如何调试测试用例本身?
差点忘了!我正在使用,
我的工作流程涉及使用xUnit GUI运行程序来运行测试.
如果我问的是不可能的,有人可以建议我可以使用的替代测试套件有我想要的吗?
bbs*_*nbb 52
在VS2015及更高版本中,安装xunit.runner.visualstudio NuGet包.然后调试就像在测试资源管理器窗口中右键单击测试一样简单.(测试 - > Windows - > TestExplorer,如果你看不到它).
Dav*_*ave 10
我没有对此进行测试,但您应该能够将visual studio连接到xUnit GUI并从那里进行调试.
从Debug菜单中选择'attach to process',在列表中找到可执行文件的名称,然后单击attach.根据需要在单元测试中设置断点,并从GUI运行测试.应该按预期命中断点.
小智 9
我在实现上述所有方面都失败了,但以下方法对我有用:在要调试的行之前添加以下行(然后运行测试):
System.Diagnostics.Debugger.Launch();
Run Code Online (Sandbox Code Playgroud)
缺点是它将启动另一个VS :)的实例.
干杯!
以下内容适用于VS.NET和SharpDevelop.
打开测试项目的属性并转到Debug选项卡:
在"开始操作"下,将"启动外部程序"设置为所选的xUnit runner可执行文件.
在"开始选项"下,将"命令行参数"设置为项目调试DLL的名称.
同时将"工作目录"设置为项目的"bin\Debug \"目录.
然后选择Debug> Run或按F5以在调试模式下运行测试.断点将被击中.
以这种方式进行调试的优点是,您不必每次都连接到xUnit GUI,只需运行测试项目即可.