bestsource

AngularJS 재스민 테스트 실패: 모듈을 인스턴스화하지 못했습니다.

bestsource 2023. 10. 16. 21:58
반응형

AngularJS 재스민 테스트 실패: 모듈을 인스턴스화하지 못했습니다.

내 각진 앱은 잘 작동했고 카르마와 재스민을 사용한 테스트도 내가 의존성을 추가할 때까지 잘 작동했습니다.ui.bootstrap. 이제 앱은 여전히 기대한 대로 작동하지만 테스트를 실행할 수 없습니다.이것이 제가 가진 것입니다.

app.js - ui.bootstrap에 종속성 추가

angular.module('myApp', ['ngResource', 'ngRoute', 'ui.bootstrap']).config(function(...) {...});

service.js

angular.module('myApp').service('myService', function () {})

controller.js

angular.module('myApp').controller('MyController', function ($scope, $http, myService) {})

tests/main.js

describe('Controller: MyController', function () {
    var MyController, scope;
    // load the controller's module
    beforeEach(function(){
        module('myApp');
        inject(function ($controller, $rootScope) {
            scope = $rootScope.$new();
            MyController = $controller('MyController', {
                $scope:scope
            });
        });
    });
    it('should do something', function () {
        expect(scope.myOptions.length).toBe(5);
    });
}); 

그리고 제가 그룬트와 크라마를 사용해서 실행하는 제 테스트는 다음과 같은 이유로 실패합니다.

Error: [$injector:modulerr] Failed to instantiate module myApp due to:
Error: [$injector:modulerr] Failed to instantiate module ui.bootstrap due to:
Error: [$injector:nomod] Module 'ui.bootstrap' is not available! You either misspelled the module name or forgot

제가 놓친 게 뭐죠?앱은 문제없이 실행되고 테스트만 실패합니다.

karma.conf.js테스트 실행 전에 업보가 로드되는 파일 목록이 있습니다.

// list of files / patterns to load in the browser
files: [
  'bower_components/angular/angular.js',
  'bower_components/angular-mocks/angular-mocks.js',
  ...
]

여기에 bootstrap-ui.js를 추가합니다.

종속성 주입

beforeEach(function(){
   angular.module('ui.bootstrap',[]);
});

저도 같은 문제가 있었습니다.방금 해결했습니다.어떻게든, 어떻게든.module(myApp);당신이 제공하는 함수 안의 함수 호출.beforeEach()작동하지 않습니다. 이것만 시도해보세요.

모듈 호출을 각각() 이전에 자체 호출로 추출합니다.

beforeEach(module('myApp'));

그리고 사용하는 함수는 각() 앞에 다른 것을 사용합니다.

언급URL : https://stackoverflow.com/questions/21680455/angularjs-jasmine-test-fails-failed-to-instantiate-module

반응형