【问题标题】:Testing non-fatal error messages with boost c++ unit test suite使用 boost c++ 单元测试套件测试非致命错误消息
【发布时间】:2017-08-30 17:26:46
【问题描述】:

我有一个函数可以在遇到特定条件时将错误消息打印到标准输出。

if(!condition)
    printf("ERROR: Condition fail!");

该函数的单元测试使用“ERROR”关键字,当所有断言都通过时,boost 单元测试套件将其视为执行错误并显示它。有没有办法为给定的单元测试指定预期的错误消息或预期的错误字符串?

【问题讨论】:

    标签: c++ unit-testing boost


    【解决方案1】:

    这个函数的单元测试选择了“ERROR”关键字,

    不是。

    当所有断言都通过时,boost 单元测试套件将其视为执行错误并显示它

    一点也不。单元测试不知道您的测试打印到控制台这一事实。

    不过,您的测试包含一行代码:

    printf("ERROR: Condition fail!");
    

    该行立即将以下文本打印到标准输出设备:

    ERROR: Condition fail!
    

    这是您看到文本的唯一原因。如果您检查报告或日志,您会发现(除非断言失败)测试通过了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-12
      • 1970-01-01
      • 2015-12-28
      • 2023-03-21
      • 2018-12-17
      • 1970-01-01
      相关资源
      最近更新 更多