当我运行phpunit时,显示测试未通过。但它没有告诉我为什么测试没有通过。我附上了两张图片来描述这一点。
以下是我得到的结果:
我想要一些我喜欢的东西,帮助我指导测试驱动开发:
答案 0 :(得分:0)
您会看到不同的结果,因为您在这里遇到了两类不同的失败:
<强> 1。代码已执行,但您的断言失败。
当PHPUnit获得一些不真实的断言时会发生这种情况,例如:
$this->assertEquals(1, 0);
当发生这种情况时,PHPUnit只会看到你试图比较1
和0
以及PHPUnit对此所知道的一切。它无法告诉您为什么代码失败,因为您有业务逻辑错误,但PHP无法检测到。
<强> 2。您执行的某些代码引发了一个未被捕获的错误或异常。
如果您尝试执行PHP中不允许的操作(例如引用不存在的类),您有运行时错误。在这些情况下,PHP将提供有关错误的更多信息,或提供发生异常的调用堆栈,从而产生更详细的消息。