42

Rails 3.0.8 アプリケーション用のテスト スイートを作成する計画フェーズを開始しています。どのテスト フレームワーク/gem を使用するかを決定しようとしています。通常、私はできる限り Rails の規則に固執することを好みます。ただし、これは TestUnit を使用することを意味します。TestUnit の代替として作成された多数の競合するテスト フレームワークから選択できます。TestUnit は何年にもわたって改善されてきましたか、それともあまり優れた候補ではありませんか?

また、rspec について多くの良いことを聞いています。rspec と TestUnit は機能的に近いですか、それとも rspec は TestUnit を水から吹き飛ばしますか?

どのようなフレームワークを選択するにせよ、優れたサポート ベース (多くのユーザーとドキュメント)、使いやすさとシンプルさ、そして永続的な将来性を備えていることを望みます。

4

6 に答える 6

37

Test::Unit と Rspec はどちらも非常に優れたソリューションです。私としては、Rails プロジェクトで RSpec を使用することを好みます。これには、自動テスト、構文の強調表示、ショートカット コマンドなどrake spec、テストを簡単にするその他の自動ソリューションが多数あるためです。しかし、私の単純な Ruby スクリプトでは、Test::Unit を使用しています。複雑なテスト (統合など) が必要ない場合は、非常に軽量で簡単です。

于 2011-06-17T08:46:21.397 に答える
14

答えは好みの問題です。1 つのプロジェクトで両方を使用し、どちらが好みかを自分で見つけてください。(私は Test::Unit をやっていますが、RSpec には私にとって多くの砂糖が必要です)。

Update 2014 : Ruby 2.x には MiniTest が組み込まれているため、単純な BDD 拡張機能である MiniTest::Spec を最終的に確認することをお勧めします。"describe" ブロックと "it" ブロックを組み合わせて、テスト コンテキストをうまく構成できます。さらに必要な場合は、「must_be..」マッチャーも提供しますassert

于 2011-06-17T07:11:24.120 に答える
8

私はこれらの宝石を好み、テストに使用します

  • Rspec
  • フェイカー(データベース用のランダムで適切なデータを作成するため)
  • ファブリケーション(インスタンスを簡単に作成するため)

rspecを開始するには、このプレゼンテーションをご覧ください。必要なすべての例が含まれています。

http://kerryb.github.com/iprug-rspec-presentation

rspecに関するこれらの記事も読んでください。

http://relishapp.com/rspec/rspec-rails

于 2011-06-17T13:08:12.217 に答える
6

この Ruby Inside の記事は、特にリンクをたどってコメントを読むと、Test::Unit と RSpec の相対的な利点について非常に徹底的な議論を提供します。主な差別化要因は次のように思われます。

  • 技術者以外のクライアントを持つ人々は、RSpec と Cucumber をより好意的に見る可能性が高くなります。
  • の人は、Test::Unit のようなより直接的なシステムを好む可能性が高くなります。

RSpec と Cucumber の比較については、Michael Hartl の Rails チュートリアルのこの部分も参照してください。

于 2012-06-06T03:33:03.527 に答える
4

あなたが大きなウェブサイトを持っているならば、あなたは素晴らしい組み合わせを作る宝石とrspec一緒cucumberに使うことができます。webrat最初は面倒ですが、後で大きなメリットになります。

次のrailscastsエピソードを見て、これらの宝石に関する詳細情報を入手できます。155
キュウリから始める
156 Webrat157RSpec
マッチャーとマクロ
159キュウリの詳細

比較的新しくて有望な他の宝石もいくつかありますがcapybara、正直言って私はそれを試しませんでした。

于 2011-06-17T09:14:25.653 に答える
2

Railsアプリケーションのテストを開始する場合は、TestUnitを使用してテストを開始することをお勧めします。http://www.codeschool.com/courses/rails-testing-for-zombiesで、ベストテストレールアプリとベストプラクティスに関する非常に優れたコースを見つけることができます 。テストの経験が豊富な場合は、RSpecを試すことができます。

于 2012-04-16T08:36:29.117 に答える