使用场景测试运行器测试Angularjs e2e - 忽略alert()

时间:2013-11-01 13:42:09

标签: javascript angularjs angularjs-e2e angular-scenario

我正在为我的应用程序创建e2e测试,当我测试登录页面时遇到问题。 我想测试正确的登录和错误的登录,但问题是,当您输入错误的凭据时,您会收到警报(“您的电子邮件或密码不正确”),并且在e2e测试中也会触发,这意味着我必须单击警报()上的“确定”按钮以继续测试。 无论如何都要忽略测试中的alert()?

2 个答案:

答案 0 :(得分:1)

请查看https://github.com/katranci/Angular-E2E-Window-Dialog-Commands

您可以在测试中添加alertOK();,然后再显示警告,这样就可以跳过它。

答案 1 :(得分: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>