CakePHP3 のテストで Fixture を bake する #cakephp
TL;DR
Fixture を bake する際のテンプレ
bin/cake bake fixture \ --records \ --schema ${テーブル名} \ --count ${レコード数} \ --conditions "${WHERE句に書くような条件}"
--records
( test
ではなく) default
のデータベースを元にテスト用レコードを Fixture に自動生成してくれる。
--connection
を合わせて使えば、 default
以外のデータベースを生成元にもできる
--schema
生成元のテーブル名を指定する。
--count
生成するレコードの数を指定する。
デフォルト値が 1
なので、複数レコードを生成したい時は指定する。
--conditions
生成元のレコードを絞り込める。
例えば --conditions "sex = 'male' AND age > 20"
みたいなことができる。
id in (SELECT id FROM....)
のようにサブクエリを活用すれば、関連レコードでの絞り込みも可能。
補足
詳しくは bin/cake bake fixture --help
する。