我们的团队拥有一套非常成熟的 Google Test (GTest) 测试用例。除了 GTest 自己生成的标准 JUnit XML 输出之外,测试用例通过自定义测试环境构建测试报告。
我想添加一个最终测试,以确保 Google 测试套件在套件中的所有其他测试执行后生成其测试报告。换句话说,我想强制最后执行哪个测试,以便它可以编写自定义输出,然后验证它是否正确编写,否则失败。
即使 Google Test 以随机顺序执行测试,该解决方案也应该有效。我可以强制一个测试最后运行吗?我可以编写一个 GTest 不会自动发现的测试,从我的“主要”中自己调用它,并将其结果整合到其余测试中,或者 ??
我看不出用当前的 GTest API 可以做到这一点,但认为值得一问。
最佳答案
这可能最接近您要查找的内容。
也许您可以使用静态对象的销毁来收集有关所有已运行测试的信息。
但是,请注意 fork 。
我真的会编写自己的 main()
, fork 测试进程并等待子进程完成,以便您可以从中收集数据。
关于c++ - 如何强制 Google 测试用例最后运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45654530/