Du siehst anders Ergebnisse, weil Sie hier in zwei verschiedene Kategorien von Fehlern laufen:
1. Der Code wurde ausgeführt, aber Ihre Assertion ist fehlgeschlagen.
Dies geschieht, wenn PHPUnit eine Behauptung wird, die nicht truthy, wie ist:
$this->assertEquals(1, 0);
Wenn dies geschieht, PHPUnit sieht nur, dass Sie 1
und 0
zu vergleichen versucht, und das ist alles PHPUnit über weiß dies. Es kann Ihnen nicht sagen warum der Code fehlgeschlagen, weil Sie einen Business-Logikfehler haben, die von PHP nicht erkannt werden kann.
2. Einige von Ihnen ausgeführte Codes haben einen Fehler oder eine Ausnahme ausgelöst, die nicht abgefangen wurde.
Wenn Sie versuchen, etwas zu tun, was in PHP nicht erlaubt ist (z. B. Verweisen auf eine Klasse, die nicht existiert), haben Sie einen Laufzeitfehler. In diesen Situationen bietet PHP mehr Informationen über den Fehler oder stellt einen Call-Stack bereit, in dem eine Ausnahme aufgetreten ist, was zu einer detaillierteren Nachricht führt, die Sie sehen.