3

私のアプリは比較的シンプルで、RubyとRailsの学習と機能の開発に集中したかったので、テストに悩むことはありませんでした。比較的使いやすいツール/宝石が欲しいです。理想的には私がしたいこと:

  • モデルテスト
  • ヘルパーテスト
  • 統合テスト(ビューまたはコントローラーを直接テストしません)
  • テストカバレッジを参照してください
  • 自動化(1つのコマンドですべてのテストを実行)

最初の2つはMiniTest(またはRSpec?)について考えており、統合テスト用にCapybaraを追加していますが、最後の2つについてはわかりません。

私が使用しているもの:

  • OSX 10.7.3
  • Ruby 1.9.3-p194
  • レール3.2.3

ありがとう!

4

3 に答える 3

3

各タスクに適したツールを見つけるには、ruby-toolbox.comをお勧めします。カテゴリ別に検索すると、「コードメトリック」と「継続的テスト」になります。このようにして、可能な解決策は、ルビーコミュニティでの人気と使用率の順に表示されます。

これらの特定のタスクには、それぞれSimpleCovとGuardを使用します。

あなたが言及したテストについては、不快感はありませんが、BDD(ビヘイビア駆動開発)が何であるか知っていますか?そして、TDD(テスト駆動開発)との違いは?

はいの場合は申し訳ありませんが、念のために言及しました。簡単なグーグル検索をしてから、どのテストパラダイムが必要で、どの目的で使用するかを決定するだけではありません。

私は個人的にプロジェクトにBDDの概念を適用しようとしています。機能にはCucumberを使用し、仕様にはRSpecを使用しています。

ちなみに、「The RSpec Book」は、それに関する優れた本であり、RSpec、キュウリ、Webrat(現在最も人気のあるカピバラに非常に似ています)、およびSeleniumをカバーしています。

情報が多すぎないにしても、これがお役に立てば幸いです...

于 2012-04-22T02:55:18.127 に答える
1

モデルのテストから始めます。理解とコーディングの両方が最も簡単です。
これは、ビジネスロジックをモデルに集中させ、APIを介して動作するRESTfulコードを作成するのに役立ちます。

次に、コントローラーのテストに移ります。これは、エンドユーザーが実際に行っていることの実際のフローのテストに非常に近いものです。

次のヘルパーテストは通常​​かなり簡単です。

最後に、実際のビューテストを実行することもできますが、今のところは延期します。

間違いなくすぐにrspecを使用して、後で切り替える時間を節約してください。

1つのコマンドですべてのテストを実行することも、個別に実行することもできます。

スイートを構築するときは、継続的インテグレーションテスト環境でGuardを使用することを検討する必要があります。

于 2012-04-22T02:47:47.557 に答える
0

これは別の質問に対する私の答えのコピーです

レールやその他のWebアプリをさまざまな側面からテストするためのツールはたくさんあります。ただし、テストを初めて使用する場合は、他のツールの使用を開始する前に、Rails独自のテストフレームワークの学習から始めることを強くお勧めします。

1つのテストフレームワークを学習し、後で習得することで、将来、他のフレームワークとの長所/短所を理解し、それらを同時に機能させることが容易になります。

次のことをテストすることから始めることができます。

  • モデルの単体テスト
  • コントローラの機能テスト
  • フィクスチャとテストデータのロード方法について学習する

私は多くの失敗したテスト作業を見てきましたが、彼らが間違ったツール/フレームワークを選択したために失敗するのを見たことがありません。使用するツールをマスターする方法がわからず、テストの基本について十分に学んでいるため、失敗します。

Railsテストの詳細については、こちらをご覧ください。
http://guides.rubyonrails.org/testing.html

于 2013-01-18T10:26:34.560 に答える