业力可以模拟服务但不包括它

时间:2016-05-26 16:55:19

标签: angularjs testing karma-jasmine

我的测试遇到错误,说明以下内容和角度网站

  

未知提供者:UserServiceProvider< - UserService< - ResourceService< - taOptions

     

错误:[$ injector:unpr] http://errors.angularjs.org/1.4.10/ $ injector / unpr?p0 = UserServiceProvider%20%3C-%20User   服务%20%3 C-%20ResourceService%20%3个C-%20taOptions

当我在karma.conf中包含该服务时,它告诉我service.js上有错误并且正在尝试测试它。有没有办法让我嘲笑服务而不包括它?

我试过这样但是它不起作用:

inject(function(_$injector_) {
  var $controller;
  this.httpBackend = _$injector_.get('$httpBackend');
  this.rootScope = _$injector_.get('$rootScope');
  $controller = _$injector_.get('$controller');
  this.scope = this.rootScope.$new();
  $q = $injector.get('$q');

  this.UserService = {

  };
...

1 个答案:

答案 0 :(得分:0)

您可以设置$ provide组件为您的服务返回一个模拟对象。

beforeEach(module(function($provide) {
    $provide.service('yourServiceName', function() {});
}));

提供的文档 - https://docs.angularjs.org/api/auto/service/ $提供