C++ - 谷歌测试 - 如何在不同的目录中并行运行所有测试?

C++ - Google Test - How to run all tests in different directories in parallel?

本文关键字:测试 并行 运行 谷歌 C++      更新时间:2023-10-16

我正在做一个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++程序员如何运行项目中的所有测试?

这看起来像您正在为每个测试创建一个二进制文件。这不是你应该使用googletest的方式。

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

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

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