C ++ - Google Test - 如何并行运行不同目录中的所有测试?

时间:2018-06-03 19:19:27

标签: c++ unit-testing

我正在开发一个C ++项目,其中包含由Google测试平台生成的大量测试文件夹。例如,在制作项目之后,我将拥有以下可执行测试文件,每个文件包含多个测试套件:

/proj/build/interface/test/test1_executable
/proj/build/interface/test/test2_executable
/proj/build/module2/test/test1_executable
/proj/build/module2/test/test2_executable

我想在新版本之后运行所有测试。这些是一次运行所有这些文件的方式,希望是并行吗?

Python有一个名为nosetests的实用程序,可以运行项目中的测试。 C ++程序员如何在项目中运行所有测试?

3 个答案:

答案 0 :(得分:2)

这看起来像每个测试创建一个二进制文件。这不是你应该如何使用googletest。

如果您编写单个main function,则所有测试都有一个二进制文件。您仍然可以通过添加--gtest_filter=whatever来选择单个测试。

答案 1 :(得分:0)

“C ++程序员如何在项目中运行所有测试?” - 这完全取决于所使用的测试框架和构建系统。没有标准化的解决方案。

答案 2 :(得分:0)

在Windows中,创建一个批处理文件,并在每行前面添加单词START:

START /proj/build/interface/test/test1_executable
START /proj/build/interface/test/test2_executable
START /proj/build/module2/test/test1_executable
START /proj/build/module2/test/test2_executable

在Linux中,附加一个&在批处理文件的每一行的末尾:

/proj/build/interface/test/test1_executable&
/proj/build/interface/test/test2_executable&
/proj/build/module2/test/test1_executable&
/proj/build/module2/test/test2_executable&