C++ Google测试-将“作者”和“项目”等附加信息导出到XML报告

dbf7pr2w  于 2023-01-10  发布在  Go
关注(0)|答案(1)|浏览(185)

我正在使用谷歌测试的输出参数,如
--gtest_output=xml:报表\表尾报表.xml
然而,一些XML属性如author和project不会像工具 * gtest 2 html * 所期望的那样导出。gtest中是否有一个属性如'author'可用?如果有,我应该在哪里分配它?

ktca8awb

ktca8awb1#

解释

在GoogleTest中,您在gtest2html中看到的字段(如"作者"、"项目"等)在默认情况下在xml输出中不可用。这些字段是预期gtest2html会找到的自定义字段。
但是,您可以使用GoogleTest提供的RecordProperty函数将它们添加到同一个xml元素中。
文档的最后一部分解释了:
允许在测试生存期之外调用RecordProperty()。如果在测试之外但在测试套件的SetUpTestSuite()和TearDownTestSuite()方法之间调用它,则它将被属性化为测试套件的XML元素。如果在所有测试套件之外(例如,在测试环境中)调用它,则它将被属性化为顶级XML元素。
因此,为了使XML输出与gtest2html兼容,需要在最外层的XML元素(具有标记"testsuites")中使用这些字段。
溶液
因此,在main或测试环境中(您不必使用,但文档中强烈推荐使用),在开始任何测试之前,您需要添加以下调用:

::testing::Test::RecordProperty ("project", "MyProject");

这将添加到xml输出中:

<testsuites ... project="MyProject" name="AllTests">

(我知道现在作为答案已经很晚了,但希望这能对某人有所帮助)

相关问题