繁体   English   中英

获取 GoogleTest 运行的测试数/运行 0 次测试失败?

[英]Get number of tests ran by GoogleTest / fail on 0 tests run?

我正在使用 cmake 的测试运行程序来运行几个 googletest 测试二进制文件。 我想要发生的是,如果 googletest 测试二进制文件通过RUN_ALL_TESTS()运行 0 个测试,它会失败。 目前, RUN_ALL_TESTS()在运行 0 次测试时返回成功。 或者,如果我能以某种方式访问RUN_ALL_TESTS()运行的测试数量,我可以将其成功覆盖为错误并改为冒泡错误。

我尝试使用--no-tests=error在 cmake 级别修复此问题。 然而,这不起作用。 我认为原因是 cmake 认为自己正在运行 googletest 测试二进制文件,这些都算作“运行测试”,即使测试二进制文件本身没有任何测试。 或者,可能是因为某些 googletest 测试二进制文件有测试, --no-tests=error参数没有触发。

我查看了googletest ,这里列出的所有标志似乎都没有帮助我没有看到设置选项的方法, RUN_ALL_TESTS没有返回任何其他信息,也没有看到 function 来获取测试运行次数。

我错过了哪些选项?

cmake 测试运行器很容易失败。

#include <gtest/gtest.h>

int main(int argc, char **argv) {
  ::testing::InitGoogleTest(&argc, argv);
  const int rv = RUN_ALL_TESTS();
  if (rv != 0)
    return rv;
#if 1
  if (::testing::UnitTest::GetInstance()->test_to_run_count() == 0)
    return 1;
#else
  if (::testing::UnitTest::GetInstance()->successful_test_count() == 0)
    return 1;
#endif
  return 0;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM