2014年7月4日金曜日

UnitTestでデータベース接続失敗


こちらの記事 で、CakePHPのUnitTestの環境を作りましたが、
cookbook
http://book.cakephp.org/2.0/ja/development/testing.html#id5
にあるように
$ ./Console/cake test app Model/Post
とコマンドからテストを実施することを確認しました。

CakePHP Test Shell
---------------------------------------------------------------
Error: Database connection "Mysql" is missing, or could not be created.

とエラーが出てしまいます。

調べたところ(参照元のサイトをひかえておくのを忘れてしまいました。。)
lib/Cake/Console/cake のシェルスクリプトに、
exec php -q "$CONSOLE"/cake.php -working "$APP" "$@"
と、phpコマンドを実行しています。
これを、
exec hhvm "$CONSOLE"/cake.php -working "$APP" "$@"
と変更すると良いです。
同様に、
app/Console/cake シェルスクリプトも

exec php -q "$CONSOLE"/cake.php -working "$APP" "$@"
       ↓
exec hhvm "$CONSOLE"/cake.php -working "$APP" "$@"

と変更します。

これでコマンドからのテストも問題なく動きました。

0 件のコメント:

コメントを投稿