我正在使用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;
}
答案 0 :(得分:0)
CppUnit :: TestResult有一个addListener方法。您可以添加CppUnit :: TestListener的子类,只需通过覆盖startTest和endTest来记录测试时间。
您可以在Libreoffice source code中找到相关示例。
答案 1 :(得分:0)
我设法使用TestListener和XmlOutputterHook来完成它。 TestListener用于记录执行时间,XmlOutputterHook用于将其插入xml。