【问题标题】:Hide normal failure output from phpunit assert隐藏 phpunit assert 的正常失败输出
【发布时间】:2014-06-26 23:27:09
【问题描述】:

默认情况下,当 PHPUnit 中的断言失败时,它会打印出错误以及断言中变量的值。这通常是一种有用的行为,但在我的情况下,它会打印出一大块无用的数据(我断言一个对象已被破坏),这会使我的错误输出变得混乱。

我尝试为可选的第二个参数传递错误消息,但这所做的只是将我的错误输出到标准 PHPUnit 输出之上。有没有办法真正隐藏标准错误输出?

这是我当前的断言: $this->assertFalse($json, 'JSON not removed');

【问题讨论】:

  • 所以你的问题是对象被转储了?你能显示实际的断言语句吗?
  • @gontrollez 它是一个我断言的 JSON 对象,已从存储中删除。添加了代码。

标签: php unit-testing phpunit


【解决方案1】:

虽然这通常是不好的做法(正是因为它会隐藏实际值),但在这种情况下,您可以自己进行比较:

$this->assertTrue(false === $json, 'JSON not removed');

另一种方法是使用 assertEmpty。它不会转储数组,如果 $json 为 false,它将通过:

$this->assertEmpty($json, 'JSON not removed');

【讨论】:

    猜你喜欢
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-26
    • 2011-10-04
    • 2013-09-14
    • 1970-01-01
    相关资源
    最近更新 更多