私はユニットテストシーンに不慣れです。ユニットテストを使用してから約2か月になります。Rubyで単体テストを行うときは、現在TDDスタイルに従い、Test :: Unit::TestCaseを使用しています。また、RSpecとそれがBDD方法論に従う方法についても読みました。また、2つのフレームワークの中間にあるShouldaについても読みました。私の質問は、どのフレームワークをRSpecまたはShouldaに費やす必要があるのか、それともTest :: Unit ::TestCaseに固執する必要があるのかということです。この件についてのご意見をお待ちしております。
3 に答える
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よりも好きです!;-)
RSpecには、構文だけでなく、多くの優れた機能があります。私はShouldaよりもそれをお勧めします。
ショルダーの作者であるThoughtbotでさえ、現在RSpecを使用しています。ShouldaはRSpecプラグインとして機能するようになり、多くの便利なマッチャーを提供します。
どちらもありません-または。最適な場所でさまざまなテストツールを使用します。
Shouldaは優れた単一行テストツールです。テストをクリーンで簡潔に保つのに役立ちます。このスタイルもお好きなら、ゼブラの逸品もお勧めです。これは、ワンライナーテストを作成するための便利な小さなツールです。