エラー状況
Laravelのユニットテストを実行するためにターミナルからテストファイルを生成しようとした時にエラーが出てしまい、生成ができずに行き詰まる。
以下のコマンドでテストファイルの生成を実行しようとする。
$ php artisan make:test SampleTest
But!!
Database [mysql] not configured. と表示され、生成ができない状態。
原因
vender/laravel/framework/src/illminate/Database/DatabaseManager.php
の該当lineを覗いてみるが、問題なさそう。というかよくわからない。
ここでさっきCirclCIを設定した時にconfig/database.phpを変更した事を思い出したので
そのファイルを確認したみると、一番下にこの記述をしている。
database.php
'connections' => [
'circle_test' => [
'driver' => 'mysql',
'host' => '127.0.0.1',
'port' => '3306',
'database' => 'circle_test',
'username' => 'ubuntu',
'password' => '',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
]
CircleCI用に設定したコードですが、また新しく'connections'作って記述してました、、、
一旦このコードを全て消して、再度ターミナルからテストファイルを生成したら
普通にうまくいきました!!
総括
今回は単純な記述ミスによるエラーでした。
ただ同じエラーが発生した場合はconfig/database.php内の記述を疑ってみてください。
ググっても答えが出てこなかったので、参考になればと思います。