6

すでにビルドされているRails 3アプリケーションの統合テストを設定したいと思っています。 アプリはRails 3とRuby 1.9.2でビルドされています。私はCapybara、Cucumber、RSpec 2の推奨を見てきましたが、それぞれのメリットが何であるか分かりません。Railsの統合テスト

私はまた、それらが緊密に結びついているように見えました。私が見た投稿は、キュウリとカピバラを使うことについて、あるいはキュウリとRspecを使うことについていつも話しているようです。

それぞれのメリットとデメリットは何ですか?一緒に最適な組み合わせがありますか?

答えて

13

これらのテストツールはすべて、テスト環境のさまざまな部分に分類されます。

インテグレーションテストを設定する場合は、キュウリを使用する必要があります。実際の代替手段はないためです。キュウリは行動駆動型開発を容易にするように設計されていますが、BDDを使用しない場合でも統合テストには最適です。

カピバラミッションステートメントは、「すべてのブラウザシミュレータをサポートするためのwebratの代替」です。したがって、ブラウザの部分(httpリクエスト、DOM操作など)をシミュレートするには、WebratまたはCapybaraという2つの選択肢があります。キュウリはそれらの両方とうまく一体化する。実際には、システムにインストールされているものを検出し、デフォルトでそれを使用します。

他方はRspecです。 Rspecは統合テストのためのツールではなく、BDDアプローチによるユニットテストのツールです。 http://www.pragprog.com/titles/achbd/the-rspec-bookでは非常に明確に説明されています。キュウリは、アプリケーションの振る舞いの外側の円にあり、rspecは、クラスの振る舞いの内側の円にあります。 rspecの代わりに、古典的なTest :: Unitクラスがあります。詳細について

は参照:要約

+1

ステーキ(https://github.com/cavalle/steak)は、キュウリの別の代替です。 – raidfive

+0

偉大な答えが、私はキュウリ、カピバラ、Webrat、RSpecのとユニットのためのリンクを追加::テストを提案することができます。私はあなたがより多くの票を得るだろうと思う。 – jwfearn

+0

@jwfearn、ありがとう! – David

0

は3つすべてを使用してください。

  • 使用RSpecの

    ... ...単独であなたのモデル、コントローラ、およびヘルパーでの試験方法について。

  • ユニットテストとも呼ばれます。

使用キュウリ ...

  • ...アプリケーションの高レベルの機能をテストします。
  • 統合テストとも呼ばれます。すべての作品が一緒に機能することを確認します。ユーザーの視点から、テストのために良い
キュウリと

使用カピバラ ...

  • ...ブラウザを通じてユーザーのようなあなたのアプリをナビゲートするためでしょう。
  • は...あなたの意見をテストするために、ユーザーが見ることを期待する内容が含まれています。
関連する問題