使用cppunit记录执行时间

时间:2016-03-14 12:10:32

标签: cppunit

我正在使用cppunit库进行单元测试。我需要记录每个测试的执行时间。有没有办法在XML文件中记录执行时间?有人能指点我一些例子吗?我的代码如下。我想在xml文件results_cppunit.xml

中执行时间
int main(int argc, char** argv) 
{
    TestResult result;
    TestResultCollector resultCollector;
    result.addListener(&resultCollector);

    TextUi::TestRunner runner;
    runner.addTest(TestFactoryRegistry::getRegistry().makeTest());
    runner.run(result);

    ofstream xmlFileOut("results_cppunit.xml");
    XmlOutputter xmlOut(&resultCollector, xmlFileOut);
    xmlOut.write();

    return resultCollector.wasSuccessful() ? 0 : 1;
}

2 个答案:

答案 0 :(得分:0)

CppUnit :: TestResult有一个addListener方法。您可以添加CppUnit :: TestListener的子类,只需通过覆盖startTest和endTest来记录测试时间。

您可以在Libreoffice source code中找到相关示例。

答案 1 :(得分:0)

我设法使用TestListener和XmlOutputterHook来完成它。 TestListener用于记录执行时间,XmlOutputterHook用于将其插入xml。