我想对使用自定义事件的用户组件进行单元测试。在不使用VS Unit测试框架的情况下执行此操作debug.assert成功,当使用VS单元测试框架执行相同操作时,断言失败这是不合逻辑的,所以我想在使用VS框架进行单元测试时进行调试。但似乎我不能,因为代码永远不会在我设置的调试点暂停。
那么有没有办法强制它在这种情况下暂停在调试点?
更新:我的意思是不是在测试项目本身,而是在运行测试项目时的目标项目中。
答案 0 :(得分:58)
是,使用Visual Studio测试项目,您可以设置断点并逐步执行代码。
确保使用“调试”菜单运行测试 - 测试 - >调试 - >当前语境中的测试。 对于任何给定的测试类或测试方法,请使用键盘快捷键 Ctrl-R Ctrl-T 。
当光标位于方法中时(测试方法或测试所涵盖的代码),它将在该方法中的任何断点处或代码中任何位置的任何断点处中断执行路径。如果你的光标在类上,或者在测试方法之间,它将运行类中的所有测试。如上所述,断点将被点击。
答案 1 :(得分:31)
P. Campbell的回答并不完全正确。如果您开始调试项目(例如WCF服务站点),则无法启动任何单元测试,调试模式。执行此操作的选项在Visual Studio 2012中显示为灰色。
这意味着您无法从单元测试中调试进程外代码。您只能调试单元测试中直接调用的代码。
这是他们现在需要解决的VS2012中的一个主要问题。
答案 2 :(得分:6)
在VS2015中,选择:
测试 - >调试 - >所有测试
或者您可以在编辑器中突出显示特定测试并选择
测试 - >调试 - >选择测试
答案 3 :(得分:0)
在“测试资源管理器”下->右键单击要调试的特定测试用例->在上下文菜单中,单击“调试所选的测试用例”选项。