web-dev-qa-db-ja.com

エンドツーエンドのテストに分度器またはカルマを使用する必要がありますか?

エンドツーエンドのテストに分度器またはカルマを使用する必要がありますか?

Angular-seedはProtractor/Selenium WebDriver for E2Eを使用していますが、angular-phonecatチュートリアルではkarmaを使用しています。

ユニットテストにはKarmaを使用し、E2EにはProtractorを使用する必要があることを読みましたが、これは他の開発者の意見を得るためにここで尋ねると思いました。

121
screenm0nkey

AngularJSチームは、angularシナリオランナーを置き換えるため、Protractorの使用を推奨しています。

Angular Scenario Runnerはメンテナンスモードです-新しいAngularプロジェクトを開始する場合は、 Protractor の使用を検討してください。

AngularJs documentation から引用。

チュートリアルのangular-phonecatはかなり前に(主に2011年に)開発され、ProtractorのようないくつかのAngular新機能を使用するようにまだ更新されていません。

編集

分度器ドキュメント-FAQ

なぜカルマと分度器の両方ですか?いつどれを使用しますか?

Karmaは単体テストに最適なツールであり、Protractorはエンドツーエンドまたは統合テスト用です。つまり、個々のコントローラー、ディレクティブ、およびサービスのロジックの小規模なテストは、Karmaを使用して実行する必要があります。アプリケーション全体のインスタンスを実行している大きなテストは、Protractorを使用して実行する必要があります。分度器は、ユーザーの視点からテストを実行することを目的としています。アプリケーションと対話する人間への指示としてテストを書き留めることができる場合、分度器で書かれたエンドツーエンドのテストである必要があります。

素晴らしいブログ記事 に詳細があります。

176
glepretre