Laravel 5 从PHPUnit测试调用时,方法中未识别命名路由

Laravel 5 从PHPUnit测试调用时,方法中未识别命名路由,laravel-5,phpunit,Laravel 5,Phpunit,从包含命名路由的另一个类调用方法时,无法识别路由 此PHPUnit测试旨在检查系统的功能是否仍然满足系统复杂的要求 测试在当地环境中进行(宅地流浪者) 我在这里调用方法表单: $orderLines = (new EDIProcessController())->getChanges($order['ediOrder'], $order['partnerId']); 以及导致问题的命名路由: $orderLine->item_url = route('warehouse.produ

从包含命名路由的另一个类调用方法时,无法识别路由

此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测试中不起作用

最终找到了答案

对子布线文件使用一次
require_
会出现问题,这是由于布线文件的多个实例未全部获得所需文件而导致的


在路由文件的所有级别将
require\u切换一次
require
,解决了这个问题

最终找到了答案

对子布线文件使用一次
require_
会出现问题,这是由于布线文件的多个实例未全部获得所需文件而导致的

在路由文件的所有级别将
require\u切换一次
require
,即可解决此问题