laravel app :: runnunittests()仅在管道执行期间返回false
在我的 Laravel 8 项目中,我有一些测试。
在我的开发机器上,所有的都通过了,但在 GitLab 管道上只有一个失败了。
我已经从管道执行中下载了日志文件(工件),并且得到:“未根据请求设置会话存储。”
问题是,只有在应用程序未经过测试时才应该创建会话,事实上我有:
if(!$request->has('need_token') && !App::runningUnitTests()){
$request->session()->regenerate();
}
如前所述,在我的开发机器上一切正常,如果我记录 App::runningUnitTests() 我总是得到 true 而 php artisan 测试或 phpunit。
在管道日志中,artisan test 和 phpunit 都失败,并且 App::runningUnitTests() 返回 false。
这些语句也返回 false:
config('app.env') == 'testing'
App::environment() == 'testing'
在测试执行之前,在 .gitlab-ci.yml 中我也有 php artisan config:cache --env=testing
您有任何提示吗?
In my Laravel 8 project i have some tests.
On my dev machine all are passing, but on GitLab pipeline just one is failing.
I've downloaded the log file (artifacts) from pipeline execution and i get: "Session store not set on request."
The problem is that the session should be created only if the app is not under test, indeed i have:
if(!$request->has('need_token') && !App::runningUnitTests()){
$request->session()->regenerate();
}
as said before, on my dev machine everything is ok, and if i log App::runningUnitTests() i always get true while php artisan test or phpunit.
In the pipeline logs, both artisan test and phpunit are failing and App::runningUnitTests() returns false.
Returns false also these statements:
config('app.env') == 'testing'
App::environment() == 'testing'
Before test execution, in .gitlab-ci.yml i also have php artisan config:cache --env=testing
Do you have any hints?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论