Angular - Jasmine在两个&之前的错误' beforeEach'

时间:2015-08-28 13:17:29

标签: javascript angularjs jasmine karma-runner karma-jasmine

这是我的代码:

var candidateProfile = angular.module('CandidateProfile', ["ngMessages", "validation.match", "rzModule", "ngImgCrop",   "ngLoadingSpinner", "ui.bootstrap"]);


candidateProfile.controller("CandidateProfileController", ['$scope', 'ProfileService', 'MiscService', 'authService', '$filter', 'Flash', 
function($scope, ProfileService, MiscService,authService, $filter, Flash){
//...
}

}]);

我的spec文件:

describe('Test Profile Controller', function(){
 var $scope, ctrl;

 beforeEach(module('CandidateProfile'));

 beforeEach(inject(function($rootScope){
    //Empty just to verify, had more code before
 }));

 it("should pass", function(){
    expect(true).toBe(true);
 });
});

问题在于,如果我拥有两个&之前的业力,那么业力就会失败。像这样。如果我评论一个或另一个,测试通过。尽管如此,两者都会导致它失败,并在object.workFn(angular-mocks.js)中出现错误(本机)(//某些行...)。

有关此问题的任何线索?我确定这可能是我的问题,我只是没有看到它......

1 个答案:

答案 0 :(得分:0)

可能与模块有关的依赖关系。

修复应该是声明每个依赖模块(在另一个beforeEach中,或者只是添加到您拥有的第一个现有模块)。请注意,从属的必须有" angular"在他们面前。

angular.module('ngMessages', []); 

通读//你省略的一些行,看看你是否可以分辨哪一行丢失了。你并不总是需要它们,但通常你会这样做。