Laravel、アプリケーションテストを書く
以下、Laravel 5.7 のお話です
Laravel ではテスト時に testing
の環境変数を使うようです
// 省略 <php> <env name="APP_ENV" value="testing"/> <env name="BCRYPT_ROUNDS" value="4"/> <env name="CACHE_DRIVER" value="array"/> <env name="SESSION_DRIVER" value="array"/> <env name="QUEUE_DRIVER" value="sync"/> <env name="MAIL_DRIVER" value="array"/> </php> // 省略
なので
- テスト用のデータベースを作る
- .env.testing を作り、そのデータベースを使用する
テスト用のデータベース作成
homestead_testing として作りました
Applicationキーを作成
$ php artisan key:generate --env=testing
マイグレーション実行
php artisan migrate --env=testing
.env.testing設定
テスト用の設定ファイル(.env.testing)を使い、テスト用のデータベースを用意します
テスト実行
./vendor/bin/phpunit