Именованные маршруты не распознаются в методе при вызове из теста PHPUnit - PullRequest
0 голосов
/ 15 марта 2019

При вызове метода из другого класса, который содержит именованный маршрут, маршрут не распознается

Этот тест PHPUnit предназначен для проверки того, что функциональность системы по-прежнему соответствует требованиям, поскольку система сложна.

Тестирование запускается из локальной среды (домашний бродяга)

Я вызываю форму метода здесь:

$orderLines = (new EDIProcessController())->getChanges($order['ediOrder'], $order['partnerId']);

И именованный маршрут, который вызывает проблему:

$orderLine->item_url = route('warehouse.products.view', $itemDetails->id);

Я получаю следующую ошибку:

InvalidArgumentException: Route [warehouse.products.view] not defined.

/home/vagrant/vr/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:305
/home/vagrant/vr/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:790
/home/vagrant/vr/app/Http/Controllers/Warehouse/EDI/SPS/EDIProcessController.php:1575
/home/vagrant/vr/vendor/laravel/framework/src/Illuminate/Support/Collection.php:861
/home/vagrant/vr/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Collection.php:139
/home/vagrant/vr/app/Http/Controllers/Warehouse/EDI/SPS/EDIProcessController.php:1746

Маршрут, как определено в файле маршрутов:

Route::get('/view/{id}', 'Warehouse\ProductController@viewProduct')->name('warehouse.products.view');

Этот маршрут работает нормально при вызове из приложения Laravel, но не будетработа в тесте PHPUnit

1 Ответ

0 голосов
/ 29 мая 2019

Наконец-то нашел ответ

Существует проблема с использованием require_once для файлов вспомогательных маршрутов, которая возникает из-за того, что несколько файлов маршрутов не все получают необходимые файлы.

Здесь рассуждения, которые я в конце концов нашел

переключение require_once на require на всех уровнях наших файлов маршрутов решает проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...