本日Dockerコンテナにて
vendor/bin/phpunit <テストファイルのパス>
と走らせようとしたところ、以下のようなエラーに遭遇した。
Exception: Unable to insert fixtures for <my test case path> test case. SQLSTATE[HY000] [2002] No such file or directory in [<some php file>, line 380]
これはシンプルで、app.php
のDatasources
の'test' =>
の部分にミスがあってsqlにつなげていないようだった。
いやちゃんと設定してるぞ?って自分も思ったのだが相変わらず'host' =>
の部分を間違えていたことに気づいたので直したらうまくいった。
できれば今後の自分のために具体的にどこを間違えたのか書きたいのだが、外部と共有するのは危ないだろうと思うのでやめておく。
/* defaultのテスト */ 'test' => [ 'className' => 'Cake\Database\Connection' 'driver' => 'Cake\Database\Driver\Mysql', 'persistent' => false, 'host' => XXX.XXX.XXX.XXX, //自分はここを間違えていた //'port' => 'non_standard_port_number', 'username' => 'username', 'password' => 'passwd', 'database' => 'test', 'encoding' => 'utf8mb4', 'timezone' => 'Asia/Tokyo', 'flags' => [], 'cacheMetadata' => true, 'log' => false, 'url' => env('DATABASE_TEST_URL', null),
上記の気をつけるべきことは
host
が正しいか(→自分はここを間違えていた)username
が正しいかpassword
が正しいかdatabase
が正しいか
である。ダブルチェック大事。