角度单位测试|服务|当使用401或500状态代码响应时,$ httpbackend始终执行错误分支

时间:2016-06-23 04:57:34

标签: angularjs unit-testing jasmine angular-mock

我正在使用$httpbackend

当我们模拟特定服务时,我们会用状态代码200-209响应它,触发成功分支和其他触发器错误分支。

我的服务可以发送包含不同状态代码的响应,我必须将用户重定向到错误页面。

如果我使用401500状态代码回复,则会执行错误分支。如何在成功分支中获取这些状态代码。

http://plnkr.co/edit/bDVf9hGdqUZgYTNsm3X9?p=preview

1 个答案:

答案 0 :(得分:1)

根据$ http源,isSuccess方法用于确定是否将调用成功回调。 以下是源$http src

中isSuccess方法的定义
function isSuccess(status) {
  return 200 <= status && status < 300;
}

所有其他代码都将导致调用错误回调。

因此,您的错误页面重定向应该在错误回调中完成。

希望它有所帮助。