Ich bin neu im Komponententest und versuche nun, einige Testfälle mit PHPUnit für eine Laravel-Anwendung zu schreiben. Ich habe einen grundlegenden Test gemacht, der der folgenden ähnelt:Testen von Ausnahmen in PHPUnit
public function testGetPointsByApp()
{
$this
->json(
'GET',
self::URL.'/'.$value
)
->assertResponseStatus(200)
->seeJson([
'status' => 'success',
])
->seeJsonStructure([
'status',
'message',
'data' => []
]);
}
Jetzt funktioniert das. Aber ich würde gerne wissen, wie ich auf ungültige Eingaben testen kann und für die Fälle wie es überhaupt keine Daten mit den gegebenen Parametern gibt. Ich werfe entsprechende Ausnahmen in jedem dieser Fälle und es wird bestimmte Nachrichten hinzufügen. Wie kann ich testen, ob es geworfen wird?
Ich möchte es nicht in diese Methode aufnehmen und möchte einige andere Methoden schreiben, um verschiedene Szenarien in der API wie ungültige UUID, keine Daten usw. zu testen. Also für jedes Mal muss ich die API-URL aufrufen oder dieser Anruf kann von jeder Art von Einrichtungsfunktion aus durchgeführt werden?
Beim Auslösen der Ausnahme bekomme ich beim Testen über Postman tatsächlich den Fehlercode 417. Es ist tatsächlich Erwartung gescheitert. –