C++ Google 测试 - 将'author'和'project'等其他信息导出到 XML 报告



我使用谷歌测试的输出参数,如

——gtest_output = xml:报告 fooReport.xml

然而,像作者和项目这样的XML属性不会像工具gtest2html所期望的那样导出。gtest中是否有像"author"这样的属性?如果是,我应该把它赋值到哪里?

说明

在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">

(我知道现在回答有点晚了,但希望这能帮助到一些人)

相关内容

  • 没有找到相关文章

最新更新