Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 5 当作为类运行时,Laravel集成测试抛出虚假的404错误,单个测试工作正常_Laravel 5_Integration Testing - Fatal编程技术网

Laravel 5 当作为类运行时,Laravel集成测试抛出虚假的404错误,单个测试工作正常

Laravel 5 当作为类运行时,Laravel集成测试抛出虚假的404错误,单个测试工作正常,laravel-5,integration-testing,Laravel 5,Integration Testing,我正在使用L5.1中新的集成测试工具。在运行测试类时,我遇到了一些奇怪的错误——大多数404错误出现在我正在测试的页面上。奇怪的是,当我过滤到单个测试时,测试通过得很好。当我运行它所属的整个测试类或测试套件时,它会以404失败。路由在浏览器中工作,当我自己运行时测试通过,所以这显然不是一个有效的错误 代码如下所示: 当我跑的时候 phpunit--filter=it\u应该获取所有内容,它工作正常。 当我跑的时候 phpunit--filter=MyTest,它以404结束。我可以将错误消息中

我正在使用L5.1中新的集成测试工具。在运行测试类时,我遇到了一些奇怪的错误——大多数404错误出现在我正在测试的页面上。奇怪的是,当我过滤到单个测试时,测试通过得很好。当我运行它所属的整个测试类或测试套件时,它会以404失败。路由在浏览器中工作,当我自己运行时测试通过,所以这显然不是一个有效的错误

代码如下所示:

当我跑的时候
phpunit--filter=it\u应该获取所有内容
,它工作正常。 当我跑的时候
phpunit--filter=MyTest
,它以404结束。我可以将错误消息中的相关URL复制到浏览器中,它工作正常

我能想到的另一个相关事实是,这是一个从L4.2到5.0到5.1的升级版


非常感谢您的帮助。

找出了触发错误的原因以及解决方法。我在拉一个二级路由文件,如下所示:

Route::get('/', function () {
return view('welcome');
});

Route::group(['prefix' => 'api/v1'], function() {
require_once_app_path(__DIR__ . '/routes2.php');

});

require\u once\u app\u路径
会触发该问题。在L4.2或L5.0中没有发生,从我们升级到5.1时开始。用
require
替换它似乎可以解决问题

你是我灵魂的救世主,我欠你我的生命。我曾使用
require\u once
将路由分解为单独的文件,并将其切换为
require
修复了所有问题。这是否有任何其他效果,比如添加两次路由?
Route::get('/', function () {
return view('welcome');
});

Route::group(['prefix' => 'api/v1'], function() {
require_once_app_path(__DIR__ . '/routes2.php');

});