2008-09-01 4 views
1

テストメソッド間でフィクスチャを変更することはできますか?もしそうなら、どうしたらいいですか?CakePHPのテストメソッド間でフィクスチャを動的に変更することはできますか?

この問題に対する私の構文:私は、テーブルにフィールドを追加することにより構成された行動のためのテストを構築していCakePHPのフレームワークで

。これは、「作成された」 フィールドと「変更された」フィールドを追加すると、保存時にこれらのフィールドが自動的に入力されるのと同じ方法で動作するように意図されています。

これをテストするには、で、さまざまな設定をテストするための数多くのフィクスチャ/モデルコンボを作成しますが、テストメソッド間でフィクスチャを「シェイプ」に変更するのは100倍優れています。

あなたはCakePHP frameworkに精通していない場合、それはSimpleTest

編集]を使用して、あなたは多分まだ私を助けることができる:質問は

答えて

0

私は慣れていないんだよ、より一般的であることを言い換え具体的にはCakePHPですが、このようなことはどこでも起こりそうです。

あり、この現象が発生するため、NOが、少なくともレールに方法で構築し、私は、CakePHPや他の場所ではないと想像されるか、器具の全体的なアイデアので、それは

ありを固定しているということです2「まともな」回避策は、私がchangefixtureメソッドを書く

  • の承知している、とあなたはあなたは/ etcアサート行う直前に、変更するかのパラメータでそれを実行します。データベースを更新したり、何かを行う必要があります。

  • は、これは私のquetionへの答えが、私の解決策ではありませんたびに

0

をまったく器具を使用して、あなたのオブジェクトを作成するために、オブジェクトファクトリまたはオブジェクト生成のいくつかの種類を使用しないでください。問題の例。

複数のフィクスチャを使用したり、フィクスチャを変更する代わりに、Model :: _ schema配列を編集します。これは、テストしたくないフィールドを削除することです。これは、フィールドが存在しないかのようにモデルが機能するように作用しますが、これが100%テストであるかどうかはわかりません。私はそれがすべての場合のためだとは思わないが、それは私の例のために働く。

関連する問題