エンドツーエンドのテストにProtractorまたはKarmaを使用する必要がありますか?
Angular-seedはProtractor / Selenium WebDriver for E2Eを使用していますが、angular-phonecatチュートリアルではカルマを使用しています。
ユニットテストにはKarmaを、E2EにはProtractorを使用する必要があると読みましたが、これは問題ないようですが、他の開発者の意見を得るためにここでお願いしたいと思いました。
エンドツーエンドのテストにProtractorまたはKarmaを使用する必要がありますか?
Angular-seedはProtractor / Selenium WebDriver for E2Eを使用していますが、angular-phonecatチュートリアルではカルマを使用しています。
ユニットテストにはKarmaを、E2EにはProtractorを使用する必要があると読みましたが、これは問題ないようですが、他の開発者の意見を得るためにここでお願いしたいと思いました。
回答:
AngularJSチームは、角度シナリオランナーを置き換えるため、Protractorを使用することをお勧めします。
Angular Scenario Runnerはメンテナンスモードです-新しいAngularプロジェクトを開始する場合は、分度器の使用を検討してください。
AngularJsのドキュメントから引用。
チュートリアルangular-phonecatは、かなり前に(主に2011年に)開発されたもので、ProtractorなどのAngularの新機能を使用するように更新されていません。
編集
なぜカルマと分度器の両方なのか?いつ使用しますか?
Karmaは単体テストに最適なツールであり、Protractorはエンドツーエンドまたは統合テストを対象としています。つまり、個々のコントローラー、ディレクティブ、およびサービスのロジックの小規模なテストは、Karmaを使用して実行する必要があります。アプリケーション全体の実行中のインスタンスがある大きなテストは、Protractorを使用して実行する必要があります。Protractorは、ユーザーの観点からテストを実行することを目的としています。テストが、アプリケーションを操作する人間の指示として書き留められる場合、Protractorで作成されたエンドツーエンドのテストでなければなりません。
詳細はこちらのブログ投稿をご覧ください。