我正在使用 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/