66

JBehave は実際には Cucumber に相当する Java であるのに対し、Cucumber は Ruby に基づいているとどこかで読んだことがあります。

誰かがそれらの違いを説明してリンクを提供できますか?

4

4 に答える 4

105

JBehave と Cucumber はまったく異なるフレームワークですが、受け入れテストという同じ目的を意図しています。それらは、ストーリー (JBehave) または機能 (Cucumber) に基づいています。機能は、特定のプロジェクト関係者の視点から表現されたストーリーのコレクションです。テストでは、通常は正規表現マッチングを介してストーリーを参照しています。

JBehave は純粋な Java フレームワークですが、Cucumber は Ruby に基づいています。どちらも非常に成熟したフレームワークです。Maven のCuke4Duke Maven プラグインを介して Java から Cucumber を使用できますが、内部で Ruby を使用し続けているため、言語の不一致が残っており、この言語とそのインフラストラクチャ (いわゆる「gems」) をマシンにインストールする必要があります。テストを実行します。これは脆弱な場合があり、言語の不一致によりデバッグが複雑になり、テストのパフォーマンスが妨げられます。現在、Cucumber-JVMと呼ばれる Cucumber の純粋な Java 実装があります。2011 年 12 月現在、まだリリースされていませんが、完全に使用可能です (編集:バージョン 1.0.0 は2012 年 3 月 27 日にリリースされました)。. この新しいフレームワークは JBehave と非常によく似ており、どちらもネイティブ JUnit サポートを備えています。

以下は、Cucumber-JVM と JBehave の比較です。

類似点:

  • すぐに使用できる JUnit サポート
  • ピュア Java
  • 速い
  • 使いやすい

JBehave の長所と短所:

  • Pro非常に優れたドキュメント
  • Proテスト結果のかなり良い HTML フォーマット
  • Conストーリーのみをサポートし、機能はサポートしません

Cucumber-JVM の長所と短所:

  • プロサポート機能
  • Con並列 JUnit テストをサポートしていません。ただし、並列の Maven 3 ビルドでは機能します。
  • コン不足しているドキュメント
  • Con JUnit 独自の書式設定以外に、テスト結果のきれいな HTML 書式設定はありません (編集: Cucumber-JVM は HTML 出力をサポートするようになりました)

Java プロジェクトに参加している場合は、JBehave (優れたドキュメントを探している場合) または Cucumber-JVM (代わりに機能やストーリーのサポートが重要な場合) のいずれかをお勧めします。

私は両方のフレームワークを試し、Cucumber-JVM を選びました。

于 2011-11-29T02:10:46.477 に答える
3

いいえ、実際には、cucumber に相当する Java はCucumber-JVMです。これら 2 つの有名な BDD フレームワークの違いを理解するには、このリンクも確認する必要がある場合があります。

于 2013-08-08T06:15:37.453 に答える