4

バックエンドにweb2py、フロントエンドにEmberをベースにしたプロジェクトにアジャイル開発を採用したいと考えています。そのために、 CucumberCapybara forRailsなどのBehaviorDrivenDevelopment(BDD)ツールを使用したいと思います。暗黙の要件は、ユーザーストーリーを作成するチームのメンバーが、開発中のコードに関する深い知識がなくても、BDDテストを作成して実行できる必要があることです。

Cucumber.jsと組み合わせるZombie.jsか、良いアプローチになると思いますSeleniumが、そこにはとがJasmineありMochaます。どちらもJavaScriptのBDDテストを有効にすると主張していますが、実際のユーザーがアプリケーションをどのように操作するかをシミュレートすることで、Webアプリケーションをテストするよりも単体テストに適していると感じています。

でBDDを試したことがある人Cucumber.jsJasmineまたはMochajavascriptを使用したBDDにどちらが適しているかについての見解を共有できる人はいますか?

また、考慮すべき他の選択肢はありますか?

4

1 に答える 1

3

完全なBDDテストスタックの場合、次を使用できます。

1)cucumber.js + selenium + Soda(またはノード用の他のアダプター)+ node.js

また

2)cucumber.js + zombie.js + node.js

個人的には、2番目のオプションを使用します。これは、cucumber.jsが、Gherkin構文で記述されたシナリオ/機能/ステップ定義を解析した後にスタブJavaScriptコードを提供するためです。このコードを使用して、ゾンビワールドをさらにセットアップし、テストスイートに必要なすべてのアサーションヘルパー関数を提供すれば、すべてセットアップできます。セレンで私が見る唯一の利点は、彼のWebドライバー機能(ソースラボなど)とレコード機能ですが、テストを駆動するためにzombie.jsで使用される構文はかなり単純であり、すべての機能が必要なわけではないと思います。セレンはあなたに提供します。

モカとジャスミンについては、Gherkin構文が必要な場合、この機能を提供するものはありませんが、すべてのテストをRspec構文スタイルで記述したい場合は、cucumber.jsの代わりにこれらのいずれかを使用できます。ガーキンスタイルはあなたにぴったりです。

于 2013-01-13T17:35:59.667 に答える