我正在测试一个监控 U 盘并允许监听插件/拔出事件的库。目标系统运行自定义 Linux 版本,调试在这个系统上很痛苦
所以,为了快速分析发生了什么,我经常使用 printf
消息。
对于库的单元测试,我已经开始使用 Catch
我使用 JUint 报告器生成测试报告。
问题:如果我插入 printf
消息进行分析,它被添加到 xml
Catch
生成的报告.
我的问题:有没有办法分开printf
Catch
生成的消息和报告?
谢谢。
更新:我想避免写入文件,因为当出现错误并且程序在文件完全写入之前崩溃时我遇到了问题。
最佳答案
还有另一种方式。
您可以像这样使用 fprintf
将调试消息打印到 stderr
而不是 stdout
:
fprintf(stderr, "%d\n", c);
由于 Catch 的报告被写入 stdout
,因此您可以使用重定向来关闭您的输出,例如在 Linux 系统上:
./a.out -r junit 2> /dev/null
关于c++ - 如何从 Catch 记者中排除 printf 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46490302/