環境
- PHP 7.1
- Laravel 5.7
- PHPUnit 7.5.15
起きた事
-
.envにAPP_ENV=local、.env.testingにAPP_ENV=testingを記述してある状態。 -
phpunit.xmlでは特にAPP_ENVの指定なし。 - PHPUnit の処理中で
config('app.env')を実行したらlocalが返ってしまった。
原因と対処
.env の値がキャッシュされてました。
せっかくなので、 TestCase.php の setUp() で全てのキャッシュを消すようにしました。
~/tests/TestCase.php
public function setUp()
{
parent::setUp();
Artisan::call('cache:clear');
Artisan::call('config:clear');
Artisan::call('optimize:clear');
Artisan::call('route:clear');
// ...
}