如何使用cppunit显示测试方法名称
How to show testmethod names using cppunit
我如何将cppunit的输出从点(表示完成了多少个测试)更改为测试的实际名称,或者可能只是至少给出给测试调用者的字符串,因为计数点并猜测它代表哪个测试函数是非常无效的,如果出现分段错误,实际上会杀死整个程序。我只是找到了在断言失败的情况下更改错误输出的参考,但没有关于一般输出的参考。
Testclass的suite函数:
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;
}
Main.cpp
CppUnit::TextUi::TestRunner runner;
runner.addTest( Parser_test::suite() );
runner.run();
我希望有这样的输出:
string to state I : OK
string to state II : OK
...
这样我就可以确定程序何时由于不可捕获的异常而崩溃,如SegFault。
但是现在我的输出看起来像这样:
...........
Segmentation fault
由一个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 );
您将需要使用CppUnit::XmlOutputter
。我不确定连接这个的确切语法。
相关文章:
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- 有没有一种优雅而快速的方法来测试整数中的 1 位是否位于连续区域
- 谷歌测试方法与流
- 更好的单元测试方法,花费的时间太长
- 为什么谷歌测试/模拟显示 std::unique_ptr 泄露的模拟对象错误?
- 回调方法显示错误,类型为"void(*)"的值不能用于初始化类型的实体
- cppUnit:针对多个测试方法执行一次的设置函数
- 如何从QDialog的常量方法显示QMessageBox?
- 如何每次使用不同的参数多次测试方法
- 带信号和插槽的测试方法
- Qt. 方法显示文本() 如果我在 QStyledItemDelegate 中定义了 paint() 方法不起作用
- 为什么我的所有测试方法都没有显示在VS2008中单元测试的测试列表中?
- 如何在谷歌测试中测试方法,使用std::function
- 告诉 mstest 忽略基类中的测试方法,但不忽略子类中的测试方法
- 是否有正确的功能基准测试方法
- 如何使用cppunit显示测试方法名称
- 通过两种不同的方法显示不同的字符串大小
- 带有c++的c++cli-MST测试:测试方法不可运行
- C++11提供了一种静态测试方法访问级别的方法
- 将int转换为字节并编写相应的测试方法