[解決済み] エンドツーエンドのテストにはProtractorとKarmaのどちらを使うべきですか?[クローズド]
質問
エンドツーエンドのテストには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
<ブロッククオートなぜKarmaとProtractorの両方を使うのですか?いつ、どちらを使う?
Karma はユニットテストのための素晴らしいツールで、Protractor はエンドエンドまたは統合テストのためのものです。 エンドツーエンド、または統合テスト向けです。つまり、個々のコントローラやディレクティブ、サービスのロジックに対する小さなテストは これは、個々のコントローラ、ディレクティブ、サービスのロジックに対する小規模なテストは Karma を使って実行されるべきです。アプリケーション全体のインスタンスを実行するような大きなテストは アプリケーション全体のインスタンスを実行するような大規模なテストは、Protractor を使って実行すべきです。Protractor は はユーザーの視点からテストを実行するためのものです。 もしあなたのテストが、あなたのアプリケーションを操作する人間のための指示として書き下ろされるなら、それはもう終わりです。 もしあなたのテストが、あなたのアプリケーションと対話する人間のための指示として書き下すことができるなら、それはProtractorで書かれたエンドツーエンドのテストであるべきです。
ここに 偉大なブログ記事 をご覧ください。
関連
-
[解決済み】angularのonLoadとng-initの違いについて
-
[解決済み] angularのpostリクエストでpreflightのレスポンスがHTTPステータスコード403で不正になる。
-
[解決済み] どのようにangularJSでrouteProviderとlocationProviderを設定するのですか?
-
[解決済み] AngularJSの$parentは何を意味するのですか?
-
[解決済み] md-selectでデフォルト値を設定する方法
-
angularjsのルーティングについて $stateと$stateParamsの話
-
[解決済み] Angularjsを使用してローカルストレージにデータを保存するにはどうすればよいですか?
-
[解決済み] Angularjsを使用してローカルストレージにデータを保存するにはどうすればよいですか?
-
[解決済み] angularJSの::の意味するところ
-
[解決済み] なぜAngularJSはselectに空のオプションを含めるのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] オブジェクトと選択機能を備えたAngularJS BootstrapUI Typeahead
-
[解決済み] X-Frame-Options'を'SAMEORIGIN'に設定しているため、フレーム内での表示を拒否された。
-
[解決済み] シンプルなangularjsの日付入力
-
angularjsのルーティングについて $stateと$stateParamsの話
-
[解決済み] AngularJS: ngRouteが動作しない。
-
[解決済み] Angular.js: $evalの仕組みとバニラevalとの違いは何ですか?
-
[解決済み] Angular JSによるシンプルなポップアップ
-
[解決済み] TDDのためのJavaScriptユニットテストツール
-
[解決済み] ng-modelとng-bindの違いは何ですか?
-
[解決済み] 条件に応じて特定のルートにリダイレクトする機能