【发布时间】:2017-08-30 17:26:46
【问题描述】:
我有一个函数可以在遇到特定条件时将错误消息打印到标准输出。
if(!condition)
printf("ERROR: Condition fail!");
该函数的单元测试使用“ERROR”关键字,当所有断言都通过时,boost 单元测试套件将其视为执行错误并显示它。有没有办法为给定的单元测试指定预期的错误消息或预期的错误字符串?
【问题讨论】:
标签: c++ unit-testing boost
我有一个函数可以在遇到特定条件时将错误消息打印到标准输出。
if(!condition)
printf("ERROR: Condition fail!");
该函数的单元测试使用“ERROR”关键字,当所有断言都通过时,boost 单元测试套件将其视为执行错误并显示它。有没有办法为给定的单元测试指定预期的错误消息或预期的错误字符串?
【问题讨论】:
标签: c++ unit-testing boost
这个函数的单元测试选择了“ERROR”关键字,
不是。
当所有断言都通过时,boost 单元测试套件将其视为执行错误并显示它
一点也不。单元测试不知道您的测试打印到控制台这一事实。
不过,您的测试包含一行代码:
printf("ERROR: Condition fail!");
该行立即将以下文本打印到标准输出设备:
ERROR: Condition fail!
这是您看到文本的唯一原因。如果您检查报告或日志,您会发现(除非断言失败)测试通过了。
【讨论】: