RSpec vs Cucumber (RSpec stories) [closed] Ask Question

RSpec vs Cucumber (RSpec stories) [closed] Ask Question

Rails アプリケーションではいつ spec を使用すべきで、いつ Cucumber (旧 rspec-stories) を使用すべきでしょうか。私は両方の仕組みを理解しており、もちろん spec を積極的に使用しています。しかし、Cucumber を使用するのはまだ奇妙に感じます。これに関する私の現在の見解は、クライアント用のアプリケーションを実装していて、システム全体がどのように動作するのかまだ理解していない場合は、Cucumber を使用すると便利であるということです。

しかし、自分のプロジェクトをやっている場合はどうでしょうか? ほとんどの場合、システムの各部分がどのように相互作用するかはわかっています。必要なのは、ユニットテストをいくつか書くことだけです。その場合、Cucumber が必要になる可能性のある状況は何でしょうか?

そして、対応する 2 番目の質問として、Cucumber ストーリーを書く場合は仕様を記述する必要がありますか? 同じことを二重にテストすることになるのではないですか?

ベストアンサー1

まだ読んでいないなら、ダン・ノースの素晴らしい記事を読んでみてはいかがでしょうか。物語には何が含まれていますか?出発点として。

Cucumber ストーリーには主に 2 つの用途があります。1 つ目は、ストーリー形式が非常に具体的であるため、プロダクト オーナーが構築したい機能を明確に表現するのに役立ちます。これは、ストーリーの「会話のトークン」としての使用であり、ストーリーをコードに実装するかどうかに関係なく役立ちます。2 つ目は、プロセスが十分に機能し、完全なストーリーが完成したときです。前に私たちは機能を書き始めます (これは日常の現実というよりも、私たちが目指す理想です)。受け入れ基準が明確に示され、何をどれだけ構築すればよいかが正確にわかります。

Rails の作業では、Cucumber ストーリーは rspec ユニット テストの代わりにはなりません。この 2 つは密接に関連しています。実際には、ユニット テストはモデルとコントローラーの開発を推進する傾向があり、ストーリーはビューの開発を推進する傾向があり (ビュー用に rspec を記述することはあまりありません)、ユーザーの観点からアプリケーション全体の適切なテストを提供します。

一人で作業している場合、コミュニケーションの側面はそれほど興味深いものではないかもしれませんが、Cucumberから得られる統合テストは興味深いものになるかもしれません。ウェブラットCucumber を使用すると、基本的な機能の多くを高速かつ簡単に記述できます。

おすすめ記事