角度常数的业力问题

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

标签: angularjs testing jasmine karma-jasmine

我在合并2个分支之前进行了工作测试。新的分支带来了一个角度常数,我认为这打破了所有测试。 我有一个像这样的角度常数

...
return $http.get(ENV+'/api/url').then(function (response) {
                appName.constant("userinfo", response.data);
                userID = response.data.user.id;
            }, function(errorResponse) {...

我的测试控制器设置如下

beforeEach(function() {
    module('appName');
    return inject(function($injector) {
      //nothing here yet
    });
  });

我能够通过为我的测试使用的常量创建此存根来缩短错误数量

angular.module('appName').constant('userinfo', {
  user: {
    id: 0
  }
});

window.ENVApp = '/ng-app'

我遇到了这个错误

  

错误:[$ injector:unpr] http://errors.angularjs.org/1.4.10/ $ injector / unpr?p0 = httpInterceptorProvider%20%3C-%20httpInterceptor%20%3C-%20%24http%20%3C-%20%24templateRequest% 20%3C-%20%24compile%20%3 C-%20ModalService%20%3个C-%20taOptions

文件被加载到karma.conf中。任何想法如何解决这个错误?由于这个问题,我的测试不会运行。

1 个答案:

答案 0 :(得分:1)

你为什么要从beforeEach回来?

beforeEach不应该返回任何内容。它应该只做一些设置,设置一些变量等。

另外,我认为将$injector传递给inject回调存在问题。我认为您需要使用_中的_$injector_来包装它。但是,您不清楚为什么要在测试中使用$injector服务。