如何从点更改cppunit的输出,指示对测试的实际名称进行了多少次测试,或者至少只是给测试调用者的字符串,如计算点和猜测哪些测试 - 它所代表的功能是非常无效的,如果是分段错误,它实际上会杀死整个程序.我确实找到了在断言失败的情况下更改错误输出的参考,但在一般输出上没有任何内容.
我的Testclass的套件功能:
static CppUnit::Test *suite() {
CppUnit::TestSuite *suiteOfTests = new CppUnit::TestSuite( "Map Parser" );
//string to state
suiteOfTests->addTest( new CppUnit::TestCaller<Parser_test>("string to state I",&Parser_test::test_string_to_state_I));
....
return suiteOfTests;
}
Run Code Online (Sandbox Code Playgroud)
Main.cpp的
CppUnit::TextUi::TestRunner runner;
runner.addTest( Parser_test::suite() );
runner.run();
Run Code Online (Sandbox Code Playgroud)
我希望有这样的输出:
string to state I : OK
string to state II : OK
...
Run Code Online (Sandbox Code Playgroud)
然后,我能够确定程序何时由于不可捕获的异常(如SegFault)而崩溃.
但此刻我的ouptut看起来像这样:
...........
Segmentation fault
Run Code Online (Sandbox Code Playgroud)
小智 6
BriefTestProgressListener完成工作:
CppUnit::TestResult controller;
CppUnit::TestResultCollector result;
controller.addListener( &result );
CppUnit::BriefTestProgressListener progressListener;
controller.addListener( &progressListener );
CppUnit::TestRunner runner;
runner.addTest( CppUnit::TestFactoryRegistry::getRegistry().makeTest() );
runner.run( controller );
Run Code Online (Sandbox Code Playgroud)