在 PHPUnit 中,假设我这样做:
$this->assertTrue( $some_variable == "foo" );
当我使用处于失败状态的代码运行测试时,PHPUnit 告诉我:Failed asserting that false is true.
这一切都很好,我通常可以找到测试的原因正在失败。但是……
我想知道是否有一种方法可以让 PHPUnit 在测试失败时向我显示更多上下文。例如,PHPUnit 是否可能输出如下内容:Failed asserting that false is true.当您的测试运行时,$some_variable 等于“bar”
。这将使我能够更快地找出测试失败的原因。
如果我能在 CLI 中看到这个额外的上下文,我会很高兴。有没有我可以应用到 PHPUnit 的设置来实现这一点?
最佳答案
使用assertTrue
assertTrue
方法有第二个参数,您可以在其中指定当断言为否定时断言应抛出的消息:
$this->assertTrue($someVariable == "foo", '$someVariable should have been "foo"')
使用专门的断言函数
PHPUnit 提供了大量专门的断言(用于相等、标识、数组元素等),它们会产生合理的错误消息。看看 documentation .
$this->assertEquals("foo", $someVariable);
关于php - 获取有关 PHPUnit 测试失败的更多上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29871960/