vs 2013:断点进入cppunittest测试抛出异常

时间:2015-03-16 20:02:17

标签: c++ visual-studio-2013 microsoft-cpp-unit-test

我在vs 2013环境中测试我的c ++ 11静态库。 我按照this很好的教程和测试+代码覆盖率工作正常。

现在我需要一步一步:我添加了断点并执行了“Debug Selected Test”命令,我收到以下消息: vstest.executionengine.exe已触发断点和callstack带我到CppUnitTest.h:465(static_cast<ThisClass *>(this)->*method2)();,例如在我想要闯入的方法的根调用。无法查看此调用中的代码。

我的问题:如何在调试Ms cpp单元测试期间进入我的代码?

1 个答案:

答案 0 :(得分:0)

我发现了问题。在测试dll使用的静态库中激活了一些断点。似乎静态lib中的断点对测试框架产生了错误。

重现:

  • 使用简单的函数int foo(){ return 0;}
  • 创建c ++静态lib项目
  • 创建一个test-dll项目
  • 添加一个调用foo
  • 的测试函数
  • foo
  • 中设置断点
  • 执行“运行选定的测试”:它将起作用
  • 执行“debug selected test”:它将在调用测试方法测试生成的类之前阻塞。

我仍然有兴趣解释这种非直观的行为。