You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CLion Test Runner中批量运行所有QTests?

如何在CLion中一次性运行所有CMake生成的测试目标

我明白你的痛点——给每个测试类单独创建CMake目标确实能让单类调试更精准,但要挨个跑一遍实在太繁琐了。CMake自带的test目标因为属于虚拟目标(本身不执行编译,仅触发测试流程),CLion默认不会在目标列表里展示,但咱们有几个更顺手的办法来批量运行所有测试:

方法一:用CLion内置的批量测试功能

这是最省心的方式:

  • 打开顶部菜单栏的Run,选择Run All Tests(快捷键通常是Ctrl+Shift+R,Mac上为Cmd+Shift+R),CLion会自动扫描所有已配置的测试目标并一次性执行。
  • 或者打开左侧的Tests工具窗口(没显示的话从View > Tool Windows > Tests调出),点击窗口顶部的「运行所有测试」按钮(播放图标样式),同样能一键启动全部测试。

方法二:自定义CMake目标来统一触发测试

如果你更习惯通过CMake目标来操作,可以在你的CMakeLists.txt里添加一个自定义目标,调用ctest(make test本质就是调用这个工具):

# 先把所有测试目标列出来,比如你有test_user、test_order、test_payment这些
set(ALL_TEST_TARGETS test_user test_order test_payment)

add_custom_target(run_all_tests
    COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure  # 失败时显示详细输出
    DEPENDS ${ALL_TEST_TARGETS}  # 确保先编译所有测试目标
    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
    COMMENT "Executing all tests..."
)

配置完重新加载CMake后,CLion的目标列表里就会出现run_all_tests,点击运行它就会先编译所有测试,再一次性跑完全部,还能直接看到失败测试的具体日志。

方法三:在CLion终端直接用命令行

打开CLion底部的Terminal窗口,切换到你的构建目录(比如cmake-build-debug),执行:

ctest --output-on-failure

这个和make test效果一致,但ctest支持更多参数,比如加-j4可以用4个线程并行跑测试,能大幅提升执行速度。

其实CLion对CMake测试的支持已经很完善了,优先用内置的Tests工具窗口或者Run All Tests功能最方便,自定义目标适合需要额外控制测试流程的场景。

内容的提问来源于stack exchange,提问作者Damir Porobic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:20:20