対処方法
vim Config/bootstrap.php
ファイルの最後に次を追記します。
// composerのautoloadを読み込み require APP . 'Vendor/autoload.php'; // CakePHPのオートローダーをいったん削除し、composerより先に評価されるように先頭に追加する // https://github.com/composer/composer/commit/c80cb76b9b5082ecc3e5b53b1050f76bb27b127b を参照 spl_autoload_unregister(array('App', 'load')); spl_autoload_register(array('App', 'load'), true, true);
参考ページですの♪
どんな状況で発生したか?
- Composer で CakePHP、PHPUnit をインストール
- bake でモデルを生成した時に「PHPUnit is not installed. Do you want to bake unit test files anyway?」と表示された。
- なお、 http://localhost/your_app/test.php へアクセスすることでテストケースを見ることも、実際にテストを動かすこともできた。つまり PHPUnit はインストールされている。
「composerで他のライブラリをインストールしている場合は、 オートローダーを設定してcomposerのオートローダーで起こる問題を回避してください。」と参考ページにはありましたけれども、他のライブラリ = PHPUnit で、composerのオートローダーで起こる問題 = PHPUnit is not installed. Do you want to bake unit test files anyway?、ですのね。
起こる問題はもっとほかにもあるかもしれませんけれど、以上のように当てはめることができますわね♪
おわりに
こちらのページでオートローダーの設定がどのように有意義なのかわからない、bake すると PHPUnit が無いと言われる、、、と課題を上げておりました。
一気に2つとも解決してしまいましたの♪
やったぜ!
以上です。