在PHPUnit中,假设我这样做:
$this->assertTrue( $some_variable == "foo" );
当我使用处于失败状态的代码运行我的测试时,PHPUnit告诉我:Failed asserting that false is true.
这一切都很好,我通常可以找到测试失败的原因。但...
我想知道当测试失败时,PHPUnit是否有办法向我显示更多上下文。例如,PHPUnit是否可以输出类似:Failed asserting that false is true. When your test ran $some_variable was equal to "bar"
的内容。这样我就可以更快地找出测试失败的原因。
如果我能在CLI中看到这个额外的上下文,我会喜欢它。是否有可以应用于PHPUnit的设置来实现这一目标?
答案 0 :(得分:1)
assertTrue
assertTrue
方法有第二个参数,您可以在其中指定断言为负数时断言应抛出的消息:
$this->assertTrue($someVariable == "foo", '$someVariable should have been "foo"')
PHPUnit提供了大量专门的断言(用于相等,标识,数组元素等等),它们产生合理的错误消息。看看documentation。
$this->assertEquals("foo", $someVariable);