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

在CLion中如何一次性运行多个GTest测试可执行文件?

在CLion中如何一次性运行多个GTest测试可执行文件?

嘿,这个场景我太熟了!之前拆分项目做多个独立GTest可执行文件时,也纠结过怎么在CLion里一次性跑全量测试还能保留友好的测试UI,刚好有两个实用的办法,给你唠唠:

方法一:用CMake的CTest集成(推荐,保留CLion测试UI)

这个方法能完美适配CLion的测试面板,让你一次性跑所有测试的同时,还能像单个运行时那样查看每个用例的通过/失败状态,步骤超简单:

  • 先修改你的CMakeLists.txt,给每个GTest可执行文件注册测试用例,用add_test命令就行,举个例子:
    # 假设你有test_user和test_order两个测试可执行文件
    add_executable(test_user test_user.cpp)
    target_link_libraries(test_user gtest gtest_main)
    # 给这个测试起个好认的名字,方便在CLion里识别
    add_test(NAME UserTests COMMAND test_user)
    
    add_executable(test_order test_order.cpp)
    target_link_libraries(test_order gtest gtest_main)
    add_test(NAME OrderTests COMMAND test_order)
    
  • 回到CLion,打开顶部菜单栏的Run > Edit Configurations,点击左上角的+号,选择CTest选项,给这个新配置起个名字(比如All Project Tests)。
  • 在配置页面里,Test suite选择你的项目根目录对应的测试集合(一般CLion会自动识别),如果不确定就留空,它会默认跑所有注册的测试。
  • 保存配置后,直接运行这个CTest配置就行!CLion会自动先编译所有需要的测试可执行文件(不用你手动跑自定义编译目标),然后依次执行每个测试,最后在同一个测试UI面板里展示所有用例的结果,体验和单个运行完全一致~

方法二:自定义CMake运行目标(简单但无细分UI)

如果你不想折腾CTest,也可以直接加一个自定义目标来批量运行,不过这个方法的缺点是只能看到控制台的整体输出,没法查看单个测试用例的状态,适合快速验证:

在CMakeLists.txt里添加:

add_custom_target(run_all_tests
    COMMAND test_user
    COMMAND test_order
    # 依赖所有测试可执行文件,确保跑之前先编译好
    DEPENDS test_user test_order
    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)

然后在CLion右侧的CMake面板里找到这个run_all_tests目标,右键选择Run,就能一次性跑完所有测试啦。

备注:内容来源于stack exchange,提问作者Don Garrett

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 16:54:27