Java の各Behavior Driven Development(BDD)フレームワークの長所と短所は何ですか?
たとえば、ここでそれらのいくつかを見つけました。
すでにモッキングライブラリ(例:Mockito)を使用している場合、BDDフレームワークを使用しても意味がありますか?
Java の各Behavior Driven Development(BDD)フレームワークの長所と短所は何ですか?
たとえば、ここでそれらのいくつかを見つけました。
すでにモッキングライブラリ(例:Mockito)を使用している場合、BDDフレームワークを使用しても意味がありますか?
回答:
Java用の3つのBDDフレームワークの比較を終えたところです。明らかに、私の調査結果の使用期限はかなり短いです。
思っていたように、JDaveのCuke4Dukeを試す機会はありませんでしたが、現時点ではおそらくJBehaveを使用するでしょう。
「長所と短所」は人によって異なる場合があります。私はいつも見ています
そして、いくつかのフレームワークから私は見ていた
モックについて:モックフレームワークも間違いなく必要です。BDDフレームワークは仕様の作成を支援するだけですが、一部のテストではモックまたはスタブが必要になります。トップダウンで設計するとき(概要から詳細まで)。
Javaで使用するのに最適なBDDフレームワークは何ですか?どうして?各フレームワークの長所と短所は何ですか?
これは、ConcordionとCucumberおよびJavaベースの受け入れテストに関する興味深いリンクです。
ここでいくつか見つけましたが、どれを選択すればよいかわかりません。
本当に、上記のものを見てください。
モッキングライブラリ(Mockitoなど)を既に使用している場合、BDDフレームワークを使用しても意味がありますか?
短い答え:はい、間違いなく。実際、BDDフレームワークを使用した受け入れテストとモックオブジェクトを使用した単体テストは非常に異なるため、実際には質問に答えません。受け入れテストはブラックボックステストです。テストは、ビジネス機能が機能していることを確認するために使用され、理想的にはビジネスアナリストによって記述されます。モックを使用した単体テストはホワイトボックステストです。テストは、ユニットが動作していることを確認するために使用され、開発者によって記述されます。どちらも便利ですが、目的はまったく異なります。つまり、Mockitoを使用してもBDDフレームワークがまったく置き換えられず、その逆も当てはまります。
うわー、トピックがホットで、良い答えがたくさんあるようです...
皮肉なことに、私は最近BDDを発見し、その概念を興味深いものにした。ねえ、それはテストと仕様の両方を書くことを強いる!意外に思われるかもしれませんが、後者は一部のプロジェクトでも欠落している可能性があります...または、BDDが強制的に導入する精度に欠けています。
ビヘイビア駆動開発の記事(Andrew Glover著で書かれたような)いくつかの良い記事へのコンセプトとリンクをまとめています。さらに、このスレッドのトピックには、BDDフレームワークのかなり包括的な(おそらく)リストが表示されます。それらの多くはJava用です。
フレームワークを選択する問題は解決しませんが、少なくとも検索が容易になります...
BDDはテストコードの可読性に大きく依存しているので、クイックツアー/チュートリアルを見て、どちらのスタイルがあなたのスタイルによりふさわしいと思われるかを確認するのが良い選択基準だと思います。その他の基準としては、フレームワークが、使い慣れたツール(単体テスト、モック)、IDEでの使用などを活用していることがあります。