2016-05-09 4 views
0

У меня есть собственный метод в файле route.php в Laravel 5.2. Это работает, но когда я пытаюсь запустить тесты на PHPUnit это сообщение появляется:Невозможно повторно использовать метод дублирования маршрутов Laravel на phpunit

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 

Мой routes.php: here Мой UserTest.php: here

+0

Можем ли мы увидеть ваш испытательный класс? –

+0

@JordanPlamondon yes, Я отредактировал мой вопрос – Saibamen

ответ

3

В Laravel 5.2, изменение require к require_once в App/Providers/RouteServiceProvide.php фиксированной проблема.

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

Но теперь мои тесты показывают: запрос на [http: // localhost] не удался. Получен код состояния [404]. – Saibamen

+0

Я думаю, это потому, что в качестве гостя нет «/». Попробуйте изменить $ this-> visit ("/") на $ this-> visit ("/ login"), может быть? –

+0

Это же. Мой журнал с первого неудачного теста: [здесь] (http://pastebin.com/pMs1MM2g) – Saibamen

0

Я столкнулся с той же проблемой сегодня. Я исправил его, присвоив переменной closure. Что-то вроде этого:

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


Route::group(["middleware" => ["auth"]], $getRoutes); 
Смежные вопросы