2016-05-09 5 views
0

Ich habe meine eigene Methode in route.php-Datei in Laravel 5.2. Es funktioniert, aber wenn ich versuche, Tests auf phpunit erscheint diese Nachricht auszuführen:Laravel routes Methode duplication auf phpunit kann nicht redeclare

Fatal error: Cannot redeclare getRoutes() (previously declared in C:\(...)\ppm\app\Http\routes.php:55) in C:\(...)\ppm\app\Http\routes.php on line 76 

Mein routes.php: here Mein UserTest.php: here

+0

Können wir Ihre Testklasse sehen? –

+0

@JordanPlamondon ja, ich habe meine Frage bearbeitet – Saibamen

Antwort

3

In Laravel 5.2 require zu require_once in App/Providers/RouteServiceProvide.php wechselnden Fest das Problem.

public function map(Router $router) 
{ 
    $router->group(['namespace' => $this->namespace], function ($router) { 
     require_once app_path('Http/routes.php'); 
    }); 
} 
+1

Aber jetzt zeigt meine Tests: Eine Anfrage an [http: // localhost] fehlgeschlagen. Erhaltener Statuscode [404]. – Saibamen

+0

Ich denke das ist, weil es keine Route für "/" als Gast gibt. Versuchen Sie $ this-> visit ("/") um $ this-> visit ("/ login") zu ändern? –

+0

Das gleiche. Mein Protokoll vom ersten fehlgeschlagenen Test: [hier] (http://pastebin.com/pMs1MM2g) – Saibamen

0

Ich lief heute das gleiche Problem. Ich habe es behoben, indem ich eine closure einer Variablen zugewiesen habe. Etwas wie dieses:

$getRoutes = function(){ 
    Route::get(...); 
    // ... 
} 


Route::group(["middleware" => ["auth"]], $getRoutes); 
Verwandte Themen