我在Visual Studio 2013中为我的C ++应用程序创建了单元测试项目。不幸的是,它在测试期间没有正确处理异常:如果我运行测试只是执行以下操作:
throw std::runtime_exception("hello!");
我看到Windows“应用程序已停止工作”框告诉我vstest.executionengine.exe
已崩溃。同时,visual studio中的测试资源管理器表明此测试已经过去没有错误。
Visual Studio本身报告“活动测试”已中止,错误是意外的。参考https://msdn.microsoft.com/en-us/library/bb787181(VS.85).aspx,但该页面上关于我的问题绝对没有有用的信息。
如何在C ++中正确终止测试执行?
答案 0 :(得分:0)
<强>解决方案强>
Assert
提供的CppUnitTestAssert.h
课程Logger
提供的CppUnitTestLogger.h
类,而不是您自己的实现崩溃原因
我认为断言是如何在我的代码中起作用的,也许是abort()
。这导致托管过程出现意外情况。