6

すでにビルドされているRails3アプリの統合テストをたくさんセットアップしたいと思っています。このアプリは、Rails3とRuby1.9.2で構築されています。カピバラ、キュウリ、RSpec 2の推奨事項を見てきましたが、それぞれの利点が何であるかわかりません。

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

それぞれの長所/短所は何ですか?一緒に最適に機能する特定の組み合わせはありますか?

4

2 に答える 2

13

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

統合テストを設定する場合は、実際の代替手段がないため、Cucumberを使用する必要があります。Cucumberは、ビヘイビア駆動開発を容易にするように設計されていますが、BDDを使用しなくても、統合テストに最適です。

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

反対側はRspecです。Rspecは、統合テスト用のツールではなく、単体テスト用のツールです(BDDアプローチを使用)。http://www.pragprog.com/titles/achbd/the-rspec-bookでは、非常に明確に説明されています。キュウリはアプリケーションの動作の外側の円にあり、rspecはクラスの動作の内側の円にあります。rspecの代わりに、従来のTest::Unitクラスがあります。

詳細については、以下を参照してください。

于 2010-12-28T09:37:40.877 に答える
0

要約すると、 3つすべてを使用します

RSpecを使用...

  • ...モデル、コントローラー、およびヘルパーのメソッドを個別にテストするため。
  • ユニットテストとも呼ばれます。

きゅうりを使う...

  • ...アプリケーションの高レベルの機能をテストするため。
  • 統合テストとも呼ばれます。すべての部品が連携して機能することを確認します。
  • ユーザーの観点からのテストに適しています。

キュウリと一緒にカピバラを使う...

  • ...ユーザーがブラウザを介して行うようにアプリをナビゲートするため。
  • ...ビューをテストするために、ユーザーが期待するコンテンツが含まれています。
于 2013-03-19T18:32:41.430 に答える