隐藏phpunit断言的正常失败输出

时间:2014-06-26 14:54:56

标签: php unit-testing phpunit

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

我尝试为可选的第二个参数传递错误消息,但所有这一切都是在标准PHPUnit输出之上输出我的错误。有没有一种方法可以实际隐藏标准错误输出?

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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