GTest是否支持为每个Testsuite生成独立XML测试报告?
GTest 按Testsuite生成单独XML报告的实现方法
GTest本身没有内置参数直接实现每个Testsuite输出单独XML报告的功能,不过可以通过以下两种方式实现需求:
方式一:按Testsuite单独运行测试
每次只执行一个Testsuite,指定对应的输出文件名:
# 执行Testsuite1并生成对应XML ./your_test_binary --gtest_filter=Testsuite1* --gtest_output=xml:Testsuite1.xml # 执行Testsuite2并生成对应XML ./your_test_binary --gtest_filter=Testsuite2* --gtest_output=xml:Testsuite2.xml
可以把这些命令写成脚本批量执行,覆盖所有需要的Testsuite。
方式二:自定义XML输出 listener
如果不想多次运行测试,可以通过继承GTest的XmlTestListener类,重写报告生成逻辑,在测试过程中为每个Testsuite创建独立的XML文件并写入对应结果。这种方式需要修改测试代码,实现自定义的listener并注册到GTest中。
对比CppuTest的自动拆分功能,GTest需要通过上述手动方式来实现类似效果,虽然步骤多一些,但灵活性更高。
内容的提问来源于stack exchange,提问作者user19471767
相关产品推荐
相关产品推荐

