はじめに
Laravelで開発中のアプリで、PHPUnitによるテストを実行した際悲劇が起きました。
沢山のエラーとともに、データが全て飛んでしましました。
なんで!?特に設定をいじっていないのに!とかなり焦りました。
解決
原因は、テスト実行前にphp artisan config:clear
を行っていなかったからでした。
というのも、Laravelでは設定ファイルをキャッシュして高速化をしている。
そのため、テスト用ではない設定のキャッシュが残っていたことでテスト時にデータが飛んでしまったのかと思います。
確かに公式ドキュメントに、このように記載されていました。
テスト実行前には、config:clear Artisanコマンドを実行し、設定キャッシュをクリアするのを忘れないでください。
Laravel 7.x テスト: テストの準備
まとめ
今回は、Laravelでのテスト時にデータが消えてしまった際についてまとめました。
幸い、開発環境のデータでかつ個人開発のため問題はなかったです。しかし、仕事中にやってしまった場合かなり焦るかと思いますので勉強になりました。
同じような状況になってしまった方の参考になれば幸いです。