BaserTestCaseで特定プラグインの有無でfixturesを振り分ける
baserCMSのTestCaseで、特定のプラグインの有無を調べて、fixturesの読み込みを振り分ける。
つまり、プラグインHogeが有る場合と、無い場合で、読み込むfixturesを切り替える方法。というわけです。
ちなみにbaserCMSと書いてるけど、cakephpでも同じだと思います。
public function __construct(){
$fixtures = array(
'plugin.fuga.Default/Model1',
'plugin.fuga.Default/Model2',
);
$Plugin = ClassRegistry::init('Plugin');
$lists = $Plugin->find('list');
foreach($lists as $list){
if($list == 'Hoge') $fixtures[] = 'plugin.hoge.Default/Model3';
}
$this->fixtures = $fixtures;
}
1,コンストラクタの中にfixturesを書く
2,入ってるプラグインのリストを取得
3,この場合はプラグインHogeが入っていたらfixturesを追加してる
コンストラクタの中にfixturesを書くので、
public $fixtures = array()
これは定義するだけにした。
public $fixtures;
こんな感じ。
いろんな書き方をしてきて、これが一番しっくりきたので、ブログにしてみた。
前の記事: kusanagi で letsencryptが更新されない
次の記事: [cakephp4] dirtyとoriginal
2019/05/27 | 開発記録
コメント/トラックバック
トラックバック用URL:
この投稿のコメント・トラックバックRSS