c++ - 如何使 CppUnit 日志记录更详细?

标签 c++ unit-testing cppunit

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

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

最佳答案

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

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);

关于c++ - 如何使 CppUnit 日志记录更详细?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38884804/

相关文章:

unit-testing - Visual C++ TDD 设置

c++ - 双向链接的线程安全分离

java - 在 Spring 单元测试中连接依赖项而不使用 @RunWith

python - 如何重写django测试用例以避免不可预测的偶然失败

php - Controller 的 Laravel 单元测试

c++ - 重载 operator<< 用于 ostream

c++ - 特定网站在 QWebView 中抛出异常

c++ - 在 mathops.h 中的 VS2005 汇编代码中的 ffmpeg 编译不编译

c++ - CMake - 从另一个 cmake 文件中设置的 GUI 中删除选项

c++ - 运行重复的测试报告作为不同的测试