c++ - 如何在cppunit中捕获异常

标签 c++ oop cppunit

我们使用 CPPUnit 来测试我们的测试框架

测试组织在测试夹具中(继承自 CPPUNIT_NS::TestFixture)

有一个新要求 - 只有在测试失败时才在测试结束时清除应用程序缓冲区。

我可以在测试夹具的重载 teardown() 函数中执行此操作。 但是如何知道测试是否失败。

使用 CPPUNIT_ASSERT 检查测试结果。

大约有 12 个测试夹具,每个夹具有大约 10 个测试。 如何以最少的代码更改实现这一目标?

最佳答案

我认为这在一定程度上取决于您如何调用测试,但我的第一个想法是使用 TestListener 并对 TestListener::addFailure 调用使用react。

但是请注意,理论上 tearDown 也可以抛出异常(可能通过 CPPUNIT_ASSERT),这也会调用 TestListener::addFailure。

如果这不起作用,一个明显但非常丑陋的解决方案是在每个测试方法的末尾设置一个标志,表示测试成功完成,并在未设置标志时调用您的代码。

关于c++ - 如何在cppunit中捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32197966/

相关文章:

c++ - 为什么 gdb 在 Windows 中这么慢?

netbeans - 在 OS X 10.8 Mountain Lion 上使用 Netbeans 7.2 启动并运行 cppunit 的分步说明

c++ - 如何将波前 .obj 文件中的索引顶点位置和索引顶点法线获取到 OpenGL 顶点着色器中?

c# - 在运行时动态创建和设置类的成员/属性

java - Java中如何覆盖子类中Super对象的某个字段?

javascript - javascript 中强类型容器的更好选择

c++ - cppunit 断言失败时如何显示十六进制值

c++ - 用 g++ 编译包含 cppunit 的程序

c++ - 从内存中加载图像

c++ - 排序函数中的段错误