2016-08-25 46 views
0

谷歌测试框架默认打印改变谷歌测试框架默认打印图案

[==========] Running 4 tests from 1 test case. 
[----------] Global test environment set-up. 
[----------] 4 tests from gcc_tests 
[ RUN  ]gcc_tests.functionality_test 
[  OK ] gcc_tests.functionality_test (0 ms)  
[ RUN  ] gcc_tests.functionality_test_1  
[  OK ] gcc_tests.functionality_test_2 (0 ms)  
[ RUN  ] gcc_tests.functionality_test_3  
[  OK ] gcc_tests.functionality_test_3 (0 ms)  
[ RUN  ] gcc_tests.functionality_test_4  
[  OK ] gcc_tests.functionality_test_4(471 ms) 
[----------] 4 tests from gcc_tests (471 ms total) 

[----------] Global test environment tear-down 
[==========] 4 tests from 1 test case ran. (471 ms total)  
[ PASSED ] 4 tests. 

如何与第二托架内侧取代毫秒如上所示。

如果时间将超过60秒,那么它应该用分钟代替。
例如,如括号471 ms所示,应该用0.475秒代替,如果时间是76秒。
它应该被1分16秒替换。

+0

我知道这并不能帮助解决您的问题,但单元测试应该是快速的 - 所有测试都应该在几秒钟内运行 - 这样您就可以运行UT并获得UT对您做出的每一项更改的反馈 - 否则这些测试的价值非常低。因此,避免单个测试超过1秒... – PiotrNycz

回答

3

我能想到的两种方式来实现所需的行为:

  1. 使用event listener API自定义输出。

Google Test提供了一个事件侦听器API,可让您收到关于测试程序进度和测试失败的通知。您可以听的事件包括测试程序的开始和结束,测试用例或测试方法等。您可以使用此API来扩充或替换标准控制台输出,替换XML输出或提供完全不同的输出形式,如GUI或数据库。例如,您也可以使用测试事件作为检查点来实施资源泄漏检查程序。

  • 使用XML输出,这样可以在以后的后处理结果,并获得时间值在你的意志格式化。