CTest
CTest 是一个作为 CMake 一部分分发的测试自动化工具。
CTest 运行/调试配置
当您打开一个使用 CTest 的项目时,CLion 会检测测试并为其自动创建运行/调试配置。 此配置称为 所有测试 ,并基于 CTest 应用程序 模板。
您可以在 对话框中编辑自动创建的配置,并添加更多相同类型的配置。

创建 CTest 配置
在主菜单中,转到 ,点击
并从模板列表中选择 CTest 应用程序:

提供配置名称并指定设置。
在 要运行的测试列表 字段中,选择要包含的测试。 您可以在 可用测试列表 中使用智能搜索以便于导航:

如果您使用的 ctest 版本低于 3.14,或者项目中未检测到任何测试,CLion 会通知您。

在这种情况下,请检查 中的 CMake 版本,并确保在 CMakeLists.txt 文件中启用了 CTest 测试。
在 CTest 参数 字段中,您可以提供其他标志。 例如,指定
--parallel以并行运行测试(如果您的测试支持)。
配置设置的其他字段在 参考页面 中有描述。
运行 CTest 测试
要运行或调试测试,请使用以下选项之一:
在切换器中选择配置并点击工具栏图标之一,或使用相应的快捷键。

打开 CMakeLists.txt 文件并找到与所需测试对应的
add_test命令。 点击其旁边的左侧边栏图标,并从选项列表中选择:
当您使用边栏图标运行测试时,CLion 会创建一个 临时 CTest 应用程序配置,该配置在配置列表中显示为灰色。 要保存它,请在 对话框中选择它并按下
:

调试 CTest 测试
如果您为 CTest 测试启动调试会话,CLion 将在调试模式下运行测试本身,而不是启动 ctest 子进程。
对于多测试配置,系统会提示您从列表中选择一个测试:

动态分析
您可以使用动态分析工具对测试进行分析,以消除运行时问题。 CLion 与 Valgrind Memcheck、 Google Sanitizers、 CPU Profiler 和 Code Coverage 集成,为您提供可视化输出和便捷功能,帮助您处理结果。 有关更多信息,请参阅相应的文章。

查看结果
当您运行测试时,CLion 会在内置的 测试运行器窗口 中显示结果和过程。 此窗口包括:
进度条 ,显示到目前为止已执行测试的百分比,
树视图 ,显示所有正在运行的测试及其状态和持续时间,
控制台 output 流,
工具栏 ,提供重新运行失败的
测试、导出
或打开自动保存的先前结果
的选项,按字母顺序排序测试
以便轻松找到特定测试,或按持续时间排序
以了解哪些测试运行时间较长,
上下文菜单中包含诸如 跳转到源 之类的操作,可导航到声明测试的 CMakeLists.txt 文件。

跳过测试
CTest 在某些情况下可以忽略测试失败。 要进行配置,请设置 SKIP_RETURN_CODE 或 SKIP_REGULAR_EXPRESSION 属性。 CLion 将检测到这些属性,并在输出树中将测试标记为 已跳过。
