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

简单测试配置下CTest无法找到测试的问题该如何解决?

解决方案

核心原因

你的问题由以下几个常见配置/操作错误导致,按优先级排查即可:

  1. 未开启BUILD_TESTS编译选项
    你顶层CMakeLists.txt中将BUILD_TESTS默认值设为OFF,如果运行CMake配置时没有主动开启该选项,启用测试、添加tests子目录的逻辑完全不会执行,自然不会注册任何测试用例。
  2. 运行ctest的工作目录错误
    ctest默认会读取当前工作目录下的CTest配置文件,如果你在源码根目录直接运行ctest,即使build目录下有正确的配置也会识别失败。
  3. 非核心冗余配置
    tests子目录下的enable_testing()属于重复调用,不需要额外添加,只要顶层CMake开启BUILD_TESTS时调用的enable_testing()就足够生效。

操作步骤

按以下顺序执行即可修复问题:

  • 清空原有构建目录,避免旧缓存干扰:
rm -rf build
  • 带测试选项重新执行CMake配置:
cmake -S . -B build -DBUILD_TESTS=ON
  • 执行编译构建:
cmake --build build
  • 进入构建目录后运行ctest:
cd build
ctest -C Debug

执行完成后就能看到my_test测试正常运行的输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:18:06