Ruby on Rails でフィクスチャを使用するのは少し面倒だと思います。これは、ほとんどの移行後に手動で修正する必要があるためです。
移行を実行するときにフィクスチャを変更できる方法 (プラグイン) はありますか?
Ruby on Rails でフィクスチャを使用するのは少し面倒だと思います。これは、ほとんどの移行後に手動で修正する必要があるためです。
移行を実行するときにフィクスチャを変更できる方法 (プラグイン) はありますか?
上記の womble の回答に加えて、topfunky の ar_fixures プラグインを使用して、開発データベースからフィクスチャを生成できます。
http://github.com/topfunky/ar_fixtures/tree/master
私の意見では、レールには小さくて適切に管理されたフィクスチャのセットがまだ有効な場所があります - モック オブジェクトの場合と同じように... しかし、それは別の日にします!
私自身は使用していませんが、fixture-sets-for-rails プラグインも検討する価値があり ます 。ただし、ドメイン モデルが変更されたときに修正が必要になる可能性がある、紛らわしい一連のフィクスチャを大量に構築することには非常に注意を払っています。私は代わりにモックに固執するでしょう (このプラグインはかなり古いようで、モカが登場する前に書かれた可能性があります)。
Rails コミュニティでは、フィクスチャを使用するか使用しないかについて多くの議論があります。個人的には、モデルに変更を加えたときに手動で更新するfactory_girlを使用しています。
フィクスチャを使用することを選択した場合、私の意見では、フィクスチャはテスト スイートの一部であるため、手動で更新する必要があります。コードが意図したとおりに機能することを確認する必要があります。
Factory Girl または Machinist はどちらもフィクスチャの優れた代替手段です。モデルの有効なインスタンスを定義し、必要な数だけ使用するだけです。私は Machinist を使用していましたが、モデル間の関連付けのサポートが優れているため、Factory Girl を使用し始めました。
データベースの現在の内容をフィクスチャ ファイルにダンプするプラグインがあることは確かです (頭の中でその名前を覚えていませんが)。この問題を処理する 1 つの方法は、フィクスチャをロードし、移行を実行してから、このプラグインを使用してフィクスチャをダンプすることです。
一方、DB スキーマが変更された場合、テスト条件、コーナー ケース、および制約が異なる可能性があるため、フィクスチャとテスト ケースを手動で確認することはおそらく悪い考えではありません。