yii/テスト/fixture の変更点


#contents

* fixtureとは [#n2709054]
- DBのテーブルに対してphpunitでいうところのsetupとteardownをやってくれる機能のこと
- テーブルごとにfixtureを設定すると以下のことを自動でやってくれる
-- テスト実行時にレコードを全削除
-- 実行時の削除処理後にfixtureファイルで書いた要素をセットする
* 規約 [#daedb6cb]
- ファイル名は必ずテーブル名と同じでなければならない
* 書き方 [#uddf1680]
 <?php
    return array(
             'sample1'=>array(
                           'title'=>'aaaaaaaaaaa',
                           'description'=>'eeeeeeeeeeeee',
              ),
             'sample2'=>array(
                            ...
              ),
    );

* テスト内でどう使うか [#z1e3e820]
- [[yii/テスト/unittest]]参照

* こんなときは [#a0c775d8]
** 勝手に初期化(全削除)してほしくない [#n805f45e]
- そのテーブルのfixtureファイルは作らない
** 全削除以外の初期化設定がしたい [#kf25028e]
- init.phpっていうファイルを作ってその中に初期化処理を書く
** テーブルごとにinit.phpを設定したい [#q40f88e7]
- (テーブル名).init.phpを作成、その中に初期化処理を書く

* 参考 [#yec15135]
- http://www.yiiframework.com/doc/guide/1.1/ja/test.fixture