1

アプリケーションの e2e テストを作成していますが、ログイン ページのテスト中に問題が発生しました。正しいログインと間違ったログインの両方をテストしたいのですが、問題は、間違った資格情報を入力するとアラートが表示され (「メールアドレスまたはパスワードが正しくありません」)、e2e テストでもトリガーされることです。テストを続行するには、alert() の [OK] ボタンをクリックします。テストで alert() を無視する方法はありますか?

4

2 に答える 2

1

https://github.com/katranci/Angular-E2E-W​​indow-Dialog-Commandsをご覧ください。

アラートが表示される前にテストを追加できalertOK();ます。これにより、アラートをスキップできます。

于 2014-02-06T18:08:25.467 に答える
0

確かに、これはもはや E2E と見なされるとは限りませんが、ディレクティブまたはコントローラーまたはサービスがalert()呼び出しを持っているサービスへのアラートを抽象化し、その特定のサービスをモックすることができます。次に例を示します。

Javascript

var myApp = angular.module('myApp', []);

myApp.factory('alert', function () {
  return function (message) {
    alert(message);
  };
});

myApp.controller('MyController', function ($scope, alert) {
  $scope.alert = alert;
});

意見

<body ng-app="myApp" ng-controller="MyController">
  <div ng-init="alert('test')"></div>
</body>
于 2013-11-01T18:08:40.310 に答える