如何让CppUnit记录更详细?

时间:2016-08-10 22:50:57

标签: c++ unit-testing cppunit

我使用CppUnit为C ++库编写单元测试。默认情况下,它会打印一个"。"每个测试的控制台字符。我想在测试运行之前在单独的一行记录每个测试的名称。

我已经查看了CppUnit API,但它并不是很明显如何自定义输出。它不是提供自定义选项,而是一个可以插入新处理程序的框架。 (该教程也没有帮助。)我可能花一天时间搞清楚如何做到这一点,但我不能浪费时间。有人可以提供一个可以自定义每个测试日志输出的快速代码段吗?

1 个答案:

答案 0 :(得分:0)

定义和安装自定义进度侦听器以在执行之前发出每个测试的名称非常简单。这是我今天写的一篇:

class MyCustomProgressTestListener : public CppUnit::TextTestProgressListener {
 public:
     virtual void startTest(CppUnit::Test *test) {
         fprintf(stderr, "starting test %s\n", test->getName().c_str());
     }
};

像这样在测试运行器上安装它:

CppUnit::TextUi::TestRunner runner;
MyCustomProgressTestListener progress;
runner.eventManager().addListener(&progress);
相关问题