CakePHPのプラグイン実行時にcakeコマンドでのテストコード実行方法が通常と異なったため、そのメモ書き。
テストコードの配置場所
以下のように配置。
app
/Conifg
/Controller
/Model
/SampleApp.php
/Plugin
/Demo
/Conifg
/Controller
/Model
/DemoApp.php
/Test // ← プラグインの場合のの配置場所
/Case
/Model
/DemoAppTest.php
/Fixture
/Model
/Default
/DemoAppFixture.php
/View
/webroot
/Test // ← 通常の配置場所
/Case
/Model
/SampleAppTest.php
/Fixture
/Model
/Default
/SampleAppFixture.php
/View
/webroot
テストコードからの参照パス
core.phpなどの設定ファイルで、App::buildにプラグイン内のパスを設定していない場合は、以下のように参照。
App::uses('DemoApp', 'Demo.Model');
Fixtureのパスは以下のようにして設定すると参照可能です。
public $fixtures = ['plugin.Demo.Default/DemoApp'];
テスト実行
cakeコマンド実行する場合は以下でOK。
cake test demo Model/DemoApp