隐藏phpunit assert的正常失败输出


Hide normal failure output from phpunit assert

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

我尝试为可选的第二个参数传递错误消息,但这只是将我的错误输出到标准PHPUnit输出之上。是否有一种方法可以隐藏标准误差输出?

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

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

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

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

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