14

私はユニットテストシーンに不慣れです。ユニットテストを使用してから約2か月になります。Rubyで単体テストを行うときは、現在TDDスタイルに従い、Test :: Unit::TestCaseを使用しています。また、RSpecとそれがBDD方法論に従う方法についても読みました。また、2つのフレームワークの中間にあるShouldaについても読みました。私の質問は、どのフレームワークをRSpecまたはShouldaに費やす必要があるのか​​、それともTest :: Unit ::TestCaseに固執する必要があるのか​​ということです。この件についてのご意見をお待ちしております。

4

3 に答える 3

15

ShouldaはTest::UnitとRSpecを補完するので、RSpecではなくShouldaを選択する場合、またはその逆の場合ではないと思います。私は複数のプロジェクトでShouldaを使用しており、一部はTest :: Unitでテストされ、その他はRSpecでテストされており、両方のフレームワークと一緒にうまく機能します。

既存のTest::UnitプロジェクトでShouldaを試すことをお勧めします。これにより、多くのキーストロークを節約し、テストクラスを少し整理して一貫性を保つことができます。

Andrew Vitが正しく言っているように、ShouldaチームはRSpecのやり方をますます支持しています(http://robots.thoughtbot.com/post/701863189/shoulda-rails3-and-beyondを参照)。RSpecを試して、どのように気に入っているかを確認する価値があります。誰もが好むわけではありませんが、構文、表現力、ネストされたコンテキスト、カスタムマッチャー、そして全体的なクールさのために、Test :: Unitよりも好きです!;-)

于 2010-08-31T15:50:05.213 に答える
14

RSpecには、構文だけでなく、多くの優れた機能があります。私はShouldaよりもそれをお勧めします。

ショルダーの作者であるThoughtbotでさえ、現在RSpecを使用しています。ShouldaはRSpecプラグインとして機能するようになり、多くの便利なマッチャーを提供します。

于 2010-08-30T23:43:44.730 に答える
1

どちらもありません-または。最適な場所でさまざまなテストツールを使用します。

Shouldaは優れた単一行テストツールです。テストをクリーンで簡潔に保つのに役立ちます。このスタイルもお好きなら、ゼブラの逸品もお勧めです。これは、ワンライナーテストを作成するための便利な小さなツールです。

于 2011-03-10T11:27:47.583 に答える