测试结果默认在run工具窗口中结构化显示:顶部进度条、中间树形列表(含状态图标)、底部原始输出流;点击❌节点按ctrl+↓可跳转至测试函数定义处;历史记录自动保存,支持导出xml/html/plain text;装订区图标仅反映最近一次运行结果,语法错误时可能不触发运行。

测试结果默认在 Run 工具窗口中显示,不是弹窗或控制台输出
打开 Run 工具窗口查看实时结果
运行任意测试(比如点击装订区的 ▶ 图标)后,Run 工具窗口会自动弹出并聚焦。它不是临时日志,而是结构化视图:
- 顶部是进度条,显示已执行测试数 / 总数 + 百分比
- 中间是树形列表:每个
TEST_CASE或TEST_F为一级节点,展开后能看到具体断言行、耗时、状态图标(✅/❌) - 底部是完整原始输出流(含
std::cout、断言失败的 expansion 信息等)
快速定位失败测试的源码位置
在 Run 窗口的树中点击一个 ❌ 节点,按 Ctrl+↓(Windows/Linux)或 ⌘↓(macOS),光标会直接跳转到对应测试函数的第一行 —— 不是错误堆栈行,而是 TEST_CASE 定义处。这点很关键,因为 Catch2/Boost.Test 的 failure message 里写的行号常指向宏展开后的内部代码,不是你写的测试行。
历史结果和导出不依赖手动保存
CLion 默认自动保存每次测试运行的历史记录。点击 Run 窗口右上角的时钟图标 ⏰,就能打开历史面板,选中某次运行后双击即可复现完整树状结构和输出。导出时右键树根节点 → Export Results,支持 XML/HTML/Plain Text;注意 HTML 导出会包含可点击的源码跳转链接,但只对当前项目路径有效。
别忽略装订区的状态图标
编辑器左侧边距里的 ✅ 或 ❌ 是实时状态,但它只反映「最近一次运行该测试时的结果」。如果你改了代码但没重新运行,图标不会变。更隐蔽的问题是:如果测试文件里有语法错误(比如 REQUIRE 括号不匹配),CLion 可能根本不会触发运行,图标保持灰显或残留旧状态 —— 此时要去看 Run 窗口是否压根没出现,而不是盯着图标猜。











