Laravel 5 当作为类运行时,Laravel集成测试抛出虚假的404错误,单个测试工作正常
我正在使用L5.1中新的集成测试工具。在运行测试类时,我遇到了一些奇怪的错误——大多数404错误出现在我正在测试的页面上。奇怪的是,当我过滤到单个测试时,测试通过得很好。当我运行它所属的整个测试类或测试套件时,它会以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结束。我可以将错误消息中
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');
});