フィクスチャを管理するまとめフィクスチャはテストの重要な部分です。フィクスチャの主な目的は、テストを期待されている方法で繰り返して実行できるように、環境を固定された既知の状態に設定することです。フィクスチャを正確に定義して容易に使うことが出来るように、フィクスチャ・フレームワークを提供しています。その子クラスのインスタンスです。使う、という具合です。テストを実行する前に一つまたは複数のフィクスチャ・オブジェクトをロードし、テストの完了時にアンロードします。フィクスチャは他のフィクスチャに依存する場合があります。プロパティによって定義されます。フィクスチャがロードされるとき、依存するフィクスチャはそのフィクスチャの前に自動的にロードされます。フィクスチャがアンロードされるときには、依存するフィクスチャはそのフィクスチャの後にアンロードされます。拡張して新しいクラスを作ります。前者は汎用目的のフィクスチャに最も適しています。後者はデータベースとアクティブ・レコードを扱うために専用に設計された拡張機能を持っています。アクティブ・レコードとそれに対応するテーブルに関して、フィクスチャを定義するものです。テーブルを準備するものです。プロパティを設定することによって、テーブルを指定することが出来ます。クラスからテーブル名が取得されます。データベースにのみ適しています。クラスを提供しています。して配置されるファイルで提供されます。フィクスチャと関連付けられているテーブルの名前です。データ・ファイルは、ユーザのテーブルに挿入されるデータ行の配列を返さなければなりません。],];データ行にはエイリアスを付けることが出来て、後でテストのときにエイリアスを使って行を参照することが出来ます。いうエイリアスを付けられています。オート・インクリメントのカラムに対してはデータを指定する必要はありません。自動的に実際の値を行に入れます。プロパティを設定して、データ・ファイルの所在をカスタマイズすることが出来ます。オーバーライドしてデータを提供することも可能です。前に説明したように、フィクスチャは別のフィクスチャに依存する場合があります。プロパティによって指定されます。['app\tests\fixtures\UserFixture'];}依存関係は、また、複数のフィクスチャが正しく定義された順序でロードされ、アンロードされることを保証します。アンロードされた後でアンロードされます。テーブルに関してフィクスチャを定義する方法を示しました。メソッドをオーバーライドすることが出来ます。内蔵されているサポートを使用することが出来ます。使って同じ目的を達することが出来ます。単体テストクラスを書く方法を説明します。メソッドを直接に使用します。メソッドにリストされたフィクスチャは、テストが実行される前に自動的にロードされます。前に説明したように、フィクスチャがロードされるときには、それが依存するフィクスチャのすべてが自動的に先にロードされます。依存しているので、テスト・クラスのどのテスト・メソッドを走らせるときでも、二つのフィクスチャが連続してロードされます。クラス名あるいはフィクスチャを指す構成情報配列を使うことが出来ます。構成情報配列を使うと、フィクスチャがロードされるときのフィクスチャのプロパティをカスタマイズすることが出来ます。フィクスチャにエイリアスを割り当てることも出来ます。いうエイリアスが与えられています。すると、テスト・メソッドの中でエイリアスを使ってフィクスチャ・オブジェクトにアクセスすることが出来るようになります。オブジェクトを返します。次の構文を使ってアクセスすることも出来ます。フォルダの中を見ます。簡単なプロジェクトではこの規約に従うことができます。大きなプロジェクトでは、おそらくは、同じフィクスチャ・クラスを異なるテストに使うために、データ・ファイルを切り替える必要がある場合が頻繁に生じるでしょう。従って、クラスの名前空間と同じように、データ・ファイルを階層的な方法で編成することを推奨します。等々このようにして、テスト間でフィクスチャのデータ・ファイルが衝突するのを回避し、必要に応じてデータ・ファイルを使い分けます。上の例では、フィクスチャ・ファイルには例示目的だけの名前が付けられています。実際の仕事では、フィクスチャ・クラスがどのフィクスチャ・クラスを拡張したものであるかに従って名前を付けるべきです。テーブルの名前をフィクスチャのデータ・ファイル名として使うべきです。拡張している場合は、コレクション名をファイル名として使うべきです。同様な階層は、フィクスチャ・クラス・ファイルを編成するのにも使うことが出来ます。ルート・ディレクトリとして使うのが良いでしょう。コマンドライン・ツールでフィクスチャをサポートしています。以下の機能をサポートしています。次のようなフィクスチャ・データをロードするとしましょう。テーブルに対して適用されます。コレクションに対して適用されます。ドキュメントを参照して下さい。エクステンションによって生成されました。フィクスチャ・クラスの名前は複数形であってはいけません。いう接尾辞を持たなければいけません。名前空間の下で探されます。この挙動は構成またはコマンド・オプションによって変更することが出来ます。指定することで、ロードまたはアンロードから除外するフィクスチャを指定することが出来ます。フィクスチャをロードするためには、次のコマンドを実行します。データをロードする前に、アンロードのシーケンスが実行されます。既存のデータが全てクリーンアップされることになります。パラメータが、データがロードされるフィクスチャの名前を指定するものです。いくつかのフィクスチャを一度にロードすることが出来ます。下記はこのコマンドの正しい形式です。ついて適用され、整合性チェックが無効化/有効化されます。カンマで区切って複数のグローバル・フィクスチャを指定することが出来ます。¶フィクスチャをアンロードするためには、次のコマンドを実行します。フィクスチャをアンロードする。デフォルトではフィクスチャのストレージをクリアします。コレクションがクリアされます。いう同じオプションを適用することが出来ます。コマンドを一度だけ構成して済ませたい場合もあります。次のように、異なるフィクスチャのパスを構成することが出来ます。あなたの代りに、何らかのテンプレートに従ってフィクスチャを自動生成することが出来ます。さまざまなデータで、また、いろいろな言語と形式で、フィクスチャを生成することが出来ます。エクステンションによって実現されています。以上、フィクスチャを定義して使用する方法を説明しました。関連した単体テストを走らせる場合の典型的なワークフローをまとめておきます。