Ich versuche eine Ausnahme in meinem Code zu testen.File_get_contents wird nicht als falsch ausgewertet, wenn die Datei nicht existiert
public function testGetFileThrowsException(){
$this->expectException(FileNotFoundException::class);
$file = "db.json";
$this->review->getData($file);
}
Die Datei "db.json" existiert nicht. Mein Ziel ist es, dass die Datei getData() die FileNotFoundException auslöst. Hier ist das getData() Code:
public function getData($path){
if(file_get_contents($path) === false){
throw new FileNotFoundException;
}
return $file;
}
Das Problem ist, dass statt auf False zu bewerten und die Ausnahme werfen, die file_get_contents kehrt funktionieren:
1) CompanyReviewTest::testGetFileThrowsException
file_get_contents(db.json): failed to open stream: No such file or directory
So ist der Test nicht erfolgreich ausgeführt. Irgendwelche Ideen, warum passiert das?
___ Nur ein kleiner Punkt: ___ '$ datei' existiert nicht in dieser Methode ???? Aber es wird, wenn Sie es als 'if ($ file = file_get_contents ($ path) === false) {' – RiggsFolly
1) Während des Debuggens bitte denken Sie daran, Fehlerberichte einzuschalten. 2) Wenn die Fehlerberichterstattung aktiviert ist, überprüfen Sie bitte das Fehlerprotokoll. – RiggsFolly
Danke für den Tipp über $ file. Leider ist es mein Ziel zu testen, ob die Ausnahme ausgelöst wird, wenn der $ Pfad nicht existiert. –