jbehaveについて知りました。Cucumber、FiTNesse、Concordion などの他の BDD ツールと比べて、jbehave の差別化機能は何ですか?
1 に答える
JBehaveは、操作と構文において Cucumber に最も似ています。JBehave はオリジナルの BDD ツールであり、ネイティブ Java で記述されています。Cucumber は JBehave に触発され、Ruby で書かれました。
Cucumber-JVMは、Cucumber のネイティブ Java 実装であり、アノテーション (JBehave など) と正規表現を使用してパラメーターを識別する「ステップ定義」を実装します (Ruby Cucumber など)。JBehave と Cucumber はどちらもテキストベースの機能ファイルを使用します。JBehave と Cucumber の間に大きな違いはありませんが、Cucumber は JBehave よりもはるかに広く採用されています (クロスプラットフォームの性質と開発者の努力のおかげです)。
FitNesseは、特別な構文を持つ Wiki を使用して、テスト仕様と Java の「フィクスチャ」を定義し、それらを解釈します。不器用で醜いですが、しばらく前から使用されているため、まだ一部のユーザーがいます。
Concordionは HTML を使用してテスト仕様を定義し、Java (JUnit) フィクスチャを使用してそれらを実行します。FitNesse と Concordion の主な違い (Wiki を使用する FitNesse を除く) は、FitNesse フィクスチャが再利用可能であるのに対し、Concordion は特定のシナリオに合わせてカスタマイズされることです。これにより、Concordion フィクスチャがよりシンプルになり、テスト仕様の重複や無関係な値が削減されます。
Java で作業していると仮定すると、Cucumber (対象者が開発者のみの場合) または Concordion (仕様の対象者に非開発者も含まれる可能性がある場合) をお勧めします。Concordion の仕様は HTML 形式です。つまり、それらを一緒にハイパーリンクして、適切にフォーマットされたドキュメントとして倍増させることができます。