CLion 2025.2 Help

CTest

CTest 是一个作为 CMake 一部分分发的测试自动化工具。

CTest 运行/调试配置

当您打开一个使用 CTest 的项目时,CLion 会检测测试并为其自动创建运行/调试配置。 此配置称为 所有测试 ,并基于 CTest 应用程序 模板。

您可以在 编辑配置 对话框中编辑自动创建的配置,并添加更多相同类型的配置。

为 CTest 自动创建的配置

创建 CTest 配置

  1. 在主菜单中,转到 运行 | 编辑配置 ,点击 并从模板列表中选择 CTest 应用程序

    添加 CTest 应用程序配置
  2. 提供配置名称并指定设置。

    • 要运行的测试列表 字段中,选择要包含的测试。 您可以在 可用测试列表 中使用智能搜索以便于导航:

      CTest 应用程序中可用测试的列表

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

      测试检测失败警告

      在这种情况下,请检查 设置 | 构建、执行、部署 | 工具链 中的 CMake 版本,并确保在 CMakeLists.txt 文件中启用了 CTest 测试。

    • CTest 参数 字段中,您可以提供其他标志。 例如,指定 --parallel 以并行运行测试(如果您的测试支持)。

    配置设置的其他字段在 参考页面 中有描述。

运行 CTest 测试

要运行或调试测试,请使用以下选项之一:

  • 在切换器中选择配置并点击工具栏图标之一,或使用相应的快捷键。

    配置切换器和工具栏
  • 打开 CMakeLists.txt 文件并找到与所需测试对应的 add_test 命令。 点击其旁边的左侧边栏图标,并从选项列表中选择:

    测试的边栏菜单

    当您使用边栏图标运行测试时,CLion 会创建一个 临时 CTest 应用程序配置,该配置在配置列表中显示为灰色。 要保存它,请在 编辑配置 对话框中选择它并按下

    保存临时配置

调试 CTest 测试

  • 如果您为 CTest 测试启动调试会话,CLion 将在调试模式下运行测试本身,而不是启动 ctest 子进程。

    对于多测试配置,系统会提示您从列表中选择一个测试:

    用于调试的测试列表

动态分析

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

    测试边栏菜单中的性能分析

查看结果

  • 当您运行测试时,CLion 会在内置的 测试运行器窗口 中显示结果和过程。 此窗口包括:

    • 进度条 ,显示到目前为止已执行测试的百分比,

    • 树视图 ,显示所有正在运行的测试及其状态和持续时间,

    • 控制台 output 流,

    • 工具栏 ,提供重新运行失败的 测试、导出 或打开自动保存的先前结果 的选项,按字母顺序排序测试 以便轻松找到特定测试,或按持续时间排序 以了解哪些测试运行时间较长,

    • 上下文菜单中包含诸如 跳转到源 之类的操作,可导航到声明测试的 CMakeLists.txt 文件。

    测试运行窗口

跳过测试

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

    正在跳过测试
最后修改日期: 2025年 9月 26日