如果 App_ENV=testing 不管用
具体表现:执行 APP_ENV=testing phpunit tests/Feature/ParticipateInForumTest.php
后代码没有走进 app()->environment() === 'testing'
的逻辑判断内。
解决办法:可以试试 php artisan config:clear
补充:发现清除缓存后其实不加 APP_ENV=testing
也可以了 ?
缓存 缓存后 laravel 会把文件写入 缓存 之后 对配置文件 的修改 不会实时生效 需要重新加载缓存
你可以理解为 你执行 缓存的时候 它弄了份快照 保存起来了 除非 你 删除快照 不然 所有修改都不生效
phpunit 执行的时候会读取 项目根目录下的
phpunit.xml
文件, 里面<server name="APP_ENV" value="testing"/>
用来标示环境的。不知道作者遇到的问题
按道理说不应该,根据查阅到的资料,在测试环境应该是不会检验 CsrfToken。
是不是这个原因?@洛未必达