1. ホーム
  2. angularjs

[解決済み] エンドツーエンドのテストにはProtractorとKarmaのどちらを使うべきですか?[クローズド]

2022-08-10 01:55:28

質問

エンドツーエンドのテストにはProtractorとKarmaのどちらを使うべきでしょうか?

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

私はユニットテストにKarmaを使用し、E2EにProtractorを使用すべきであると読みました、それは問題ないようですが、私は他の開発者の意見を得るためにここで質問しようと思いました。

どのように解決するのですか?

AngularJSチームは、Protractorがangular scenario runnerの代わりになるとして、その使用を推奨しています。

Angular Scenario Runnerはメンテナンスモードに入りました。 プロトラクター .

引用元 AngularJsのドキュメント .

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

EDIT

Protractor Docs - FAQ :

<ブロッククオート

なぜKarmaとProtractorの両方を使うのですか?いつ、どちらを使う?

Karma はユニットテストのための素晴らしいツールで、Protractor はエンドエンドまたは統合テストのためのものです。 エンドツーエンド、または統合テスト向けです。つまり、個々のコントローラやディレクティブ、サービスのロジックに対する小さなテストは これは、個々のコントローラ、ディレクティブ、サービスのロジックに対する小規模なテストは Karma を使って実行されるべきです。アプリケーション全体のインスタンスを実行するような大きなテストは アプリケーション全体のインスタンスを実行するような大規模なテストは、Protractor を使って実行すべきです。Protractor は はユーザーの視点からテストを実行するためのものです。 もしあなたのテストが、あなたのアプリケーションを操作する人間のための指示として書き下ろされるなら、それはもう終わりです。 もしあなたのテストが、あなたのアプリケーションと対話する人間のための指示として書き下すことができるなら、それはProtractorで書かれたエンドツーエンドのテストであるべきです。

ここに 偉大なブログ記事 をご覧ください。