CI 日志里 ctest 只显示「1 个测试通过」,因为它把整个套件当作一个测试项,而 --output-on-failure 只在失败时打印用例明细。这样一个一个用例都没注册的套件,看起来和全部通过完全一样。 runner 改为:注册数为零时直接判失败,并在结尾打印实际跑了多少个用例。ctest 改用 --verbose,让用例明细进入 CI 日志。
CI 日志里 ctest 只显示「1 个测试通过」,因为它把整个套件当作一个测试项,而 --output-on-failure 只在失败时打印用例明细。这样一个一个用例都没注册的套件,看起来和全部通过完全一样。 runner 改为:注册数为零时直接判失败,并在结尾打印实际跑了多少个用例。ctest 改用 --verbose,让用例明细进入 CI 日志。