2012-02-14 7 views
1

私はプロジェクトのために新しい機能を作成するためにキュウリを試してきましたが、実際のデータに対してテストを実行する方法を見つけるのは非常に難しかったです。私は工場ガールと一緒にそれらを正しく実行するためにすべてのエンティティを作成する必要があります、私は間違っているのですか?またはキュウリそれは偽のデータを作成し、ステップごとにすべてのフローを行うだけですか?私はステーキのアプローチを試みる方が良いでしょうか? (Rspec-Capybara)?実際の生産データでキュウリ試験を実行する方法はありますか?

すでに多数の機能を備えたプロジェクトを実行していて、TDD-BDDを任務に追加しているときに、この問題に直面したことがある場合は教えてください。

+3

実動データベースをテスト環境にコピーし、モックの代わりに実際のモデルを使用するだけで済みます。 –

+0

しかし、私はキュウリのテストを実行するたびに、seeds.rbファイルのためにそれからすべてのデータを削除し、テストの終わりにすべてを切り捨てます。これには回避策がありますか? –

+0

ステーキのアプローチとは何ですか? – tr9sh

答えて

1

FactoryGirlやその他のフィクスチャライブラリのポイントは、本物のインポートに頼らずにデータを生成することです。実稼働環境からデータをインポートしてテストを実行することは、テスト対象の動作が実際に本番環境で発生している動作ではないことを示しています。

あなたの行動が分かっている場合は、新機能または古い機能があり、キュウリで定義します。小さなものから始めて、シンプルな機能を選択して.featureファイルを作成してください。あなたが正しい行動であると知っているものに対してstep_definitionsを定義します。テストが失敗した場合は、キュウリではなくアプリケーションコードで修正してください。

ステップ定義がブラックボックステストを行っていることを確認してください。彼らはテストしている関数の内部状態を知る必要はなく、既知のインプットを扱い、結果をテストしたいだけです。

+0

申し訳ありませんが、私は工場の女の子pruposeを理解していますが、以前のキュウリ試験をしていない既存のアプリケーションに新しい機能を追加している場合、依存関係のために全く新しい機能を検証するために、そしてエンティティ間の関係のため、今私の質問は、キュウリは開始したプロジェクトではうまくいくと思うシナリオを定義することだけで、最初から各フィーチャをデータなしで構築していますが、正しい? –

関連する問題