3

运行 CppUnit 测试时,xml 或文本文件的输出中有点。

freopen("UnitTest-Results.xml", "a", stdout);
CppUnit::TextUi::TestRunner runner;
runner.addTest(pSuite);

// Change the default outputter to a Text Outputter.
runner.setOutputter(new CppUnit::XmlOutputter(&runner.result(), std::cout));

输出是:

.........................
OK (25 tests)

如何选择不打印输出文件中的点?

谢谢

4

1 回答 1

5

根据您调用 run 的方式,您可以指定正确的参数以跳过输出。

方法签名是:

bool TextTestRunner::run( std::string testName,
                       bool doWait,
                       bool doPrintResult,
                       bool doPrintProgress )

并且doPrintResult = falsedoPrintProgress = false可以抑制所有输出。

另一种方法是使用 TestRunner 或您自己的子类。这也不是那么困难,它只取决于你的测试结构,哪个更容易实现。

PS 只是为了更清楚一点,ui::text::TestRunner只是TextTestRunner. 旧的访问方式TextUi::TestRunner已弃用,TextTestRunner应直接使用。

于 2012-05-05T02:12:17.030 回答