2017-05-11 5 views
0

ich einen Funktionstest Codierung, die eine Route nennt, dessen Controller verfügt über lokales Dateisystem, eine bestimmte Datei zu lesen. Der Code in meinem Controller ist:Symfony 2.8 Funktionsprüfung: Zugriff auf lokale Datei nicht gefunden

$document_root = $_SERVER['DOCUMENT_ROOT']; 
$patch = $document_root . "/../app/config/tabelle/config.json"; 
if (file_exists($patch)) { ... }else{ die; } 

Das Problem ist, dass, wenn ich die Controller Besuch von mir die URL und das Laden der Seite in meinem Browser laufen, alles richtig funktioniert. Aber , wenn ich meinen Funktionstest ausführen, wird das soll genau die gleiche URL laden ich von Browser manuell besuchte, schlägt der Test fehl, da Controller die Datei nicht finden kann. Vielleicht muss ich phpunit in so konfigurieren, dass ihm die Wurzel sagt Ordner er berücksichtigen muss? Dank

+0

Mögliche Duplikate können sein: http://StackOverflow.com/Questions/8491437/Pass-Variable-to-PHPUnit – k0pernikus

+0

Mögliche Duplikate: http://StackOverflow.com/Questions/41588862/How-to-use-server -Variablen in phpunit-Testfällen – k0pernikus

Antwort

0

Ich löste das Symfony2 nativer Weg zur Annahme des ROOT_DIR zu bekommen. Statt $ _SERVER mit [ 'DOCUMENT_ROOT'] I verwendet: $ document_root = $ this-> Container-> getParameter ('kernel.root_dir');