我们如何在测试中强制使用Dusk使用的语言环境?
使用FR语言环境设置启动浏览器,因此我的应用程序输出法语。
我需要一致地进行所有测试,无论开发人员在运行测试时设置的语言环境如何。
在中间件堆栈中,我有LocaleMiddleware
负责根据请求标头选择区域设置(由浏览器自动发送)。
如果可能的话,我想避免在应用程序代码中使用特定于测试的代码(如下所示,在环境'测试'时强制使用语言环境)
答案 0 :(得分:2)
使用setLocale()
方法:
app()->setLocale('en');
或者:
App::setLocale('en');
您也可以使用
在运行时更改活动语言setLocale
方法
https://laravel.com/docs/5.5/localization#introduction
<强>更新强>
您还可以在中间件中设置区域设置以进行测试环境:
if (env('APP_ENV') === 'testing') {
app()->setLocale('en');
return $next($request);
}