使用CMake在CLion中使用多个Main进行Google单元测试

时间:2016-04-04 23:53:31

标签: unit-testing cmake googletest clion

大家。

在我特定的Clion项目中,我有几个cpp单元测试文件(谷歌测试),每个文件都有其主要文件。我正在寻找一种简单方法来运行项目的所有单元测试的方法。在这一刻,我只能分别运行每个目标,并且我不想为所有测试创建一个独特的主目录。

OBS:cpp单元测试文件正在"测试"内部的不同文件夹中进行组织。文件夹中。

有谁能帮助我?

请注意,CLion只使用CMake来驱动构建。

3 个答案:

答案 0 :(得分:1)

在CLion中,导航至运行>编辑配置......

在左侧面板上方,点击加号(+)图标,然后选择 Google测试

在右侧,将名称字段设置为描述性内容。

目标字段设置为您希望运行其单元测试的CMake项目名称。如果未列出您要查找的目标,则必须检查以确保正确配置了CMakeLists.txt文件。

点击确定应用按钮后,这将在您的运行配置中列出,并将运行您要测试的可执行文件的所有单元测试。< / p>

答案 1 :(得分:0)

Cmake已经生成了运行所有测试的目标,运行make test

在Clion中添加运行make test

的配置

答案 2 :(得分:0)

OP所涉及的问题是有多个包含二进制文件的目标。 Google Test控件仅允许一个目标。答案是使用复合执行。

首先,如果不熟悉此概念,请进行以下检查: https://www.jetbrains.com/help/clion/creating-and-editing-run-debug-configurations.html

第二,请按照下列步骤操作:

步骤:

  1. 为要包括的每个测试可执行文件创建单独的GTest测试配置。 https://www.jetbrains.com/help/clion/run-debug-configuration-google-test.html
  2. 创建复合执行配置,并添加在步骤1)中创建的各个执行。 https://www.jetbrains.com/help/clion/run-debug-configuration-compound-run-configuration.html
  3. 从运行菜单中执行新的化合物配置。
  4. 要获得统一的结果视图,请在弹出提示符https://www.jetbrains.com/help/clion/creating-and-editing-run-debug-configurations.html询问时启用运行仪表板
  5. 您可以考虑与其他用户共享执行规范。