2017-12-06 8 views
-1

각도 1.6.6, ng-mock 1.6.6, Jasmine 및 Karma로 테스트 환경을 설정했습니다. 그러나 심지어 가장 쉬운 시험과 ​​나는 [$ 인젝터를 : modulerr]지고있어 이론적으로 억센 오류 및 각도 및 NG-모의 버전의 일치가 아닌 deloreanApp 모듈Jasmine 및 Karma로 모듈을 인스턴스화하지 못하는 각도 테스트

Failed to instantiate module deloreanApp due to: Error: [$injector:nomod]

에게 주입하려고 할 때.

내 파일은 다음과 같습니다

(function() { 
    "use strict"; 

    // initialize Angular 
    angular.module('deloreanApp', ['deloreanApp.controllers', 'deloreanApp.services']); 

    angular.module('deloreanApp.controllers', []); 
    angular.module('deloreanApp.services', []); 
})(); 

controllers.js

(function() { 
    "use strict"; 


function deloreanController($scope){ 
    $scope.sum = function(a,b){ 
     return a + b; 
    } 
} 

    angular.module('deloreanApp.controllers', []).controller('DeloreanController', ['$scope', deloreanController]); 
})(); 

DeloreanController.test.js

을 app.js 파일 내 karma.conf.js의
describe('calculator', function() { 

    beforeEach(module('deloreanApp')); 

    var $controller; 

    beforeEach(inject(function (_$controller_) { 
     $controller = _$controller_; 
    })); 

    describe('sum', function() { 
     it('1 + 2 should equal 3', function() { 
      var result = 3; 
      expect(result).toBe(3); 
     }); 
    }); 

}); 

그리고 부분 :

// list of files/patterns to load in the browser 
files: [ 
    'lib/angular.min.js', 
    'lib/angular-mocks.js', 
    'js/app.js', 
    'js/controllers.js', 
    'tests/DeloreanController.test.js' 
], 

답변

0

이 시도,

(function() { 
    "use strict"; 
    angular.module('deloreanApp.controllers', []); 
    angular.module('deloreanApp.services', []); 
    // initialize Angular 
    angular.module('deloreanApp', ['deloreanApp.controllers', 'deloreanApp.services']); 
})();