angularJS 공장 용 재스민 테스트 케이스를 처음 사용합니다. 전체 공장을 테스트하고 싶지만 getKeys
을 가져올 수 없습니다. 여기 내 공장이야.Jasmine 2.0 단위 테스트 용 anglejs 공장
내 공장은 다음과 같습니다
'use strict';
var a11yModule = angular.module('TestModule', ['ui.bootstrap']);
a11yModule.factory('TestFacotry', ['$q', '$timeout', function ($q, $timeout) {
return {
getKeys: function() {
return {
"abc": 32,
"gpa": 33,
"end": 35
};
}
};
}])
내 장치 사양은 다음과 같습니다는
describe('modu testing', function() {
var TestFacotryMock, q, timeout;
beforeEach(module('TestModule', ['ui.bootstrap']));
beforeEach(inject(function (_$q_, _$timeout_, _TestFacotry_) {
q = _$q_;
timeout = _$timeout_;
TestFacotryMock = _TestFacotry_;
}));
it('Should ', function() {
//var output = TestFacotryMock.getKeys.something();
expect(typeof getKeys()).toBe('function');
});
});
오류가
오류입니다 : [$ 주입기 : modulerr] 실패를 인스턴스화 모듈 TestModule 인해 : 오류 : [$ injector : modulerr]오류 : [$ injector : nomod] 모듈 'ui.bootstrap'을 사용할 수 없습니다. 모듈 이름의 철자가 잘못되었거나로드하는 것을 잊었습니다. 모듈을 등록하면 종속성을 두 번째 인수로 지정하십시오.
당신은 통과 할 필요가 없습니다'[ 'ui.bootstrap']'시험하고있는 동안, 단지'beforeEach (모듈 ('TestModule')); ' – tanmay
도 'ui.bootstrap '을 전달하지 않아도 같은 오류가 발생합니다 – lucky
karma-conf.js 파일에 ui-bootstrap을 파일로 추가하십시오 : [ 'bower_components/*/*/ui-bootstrap.js '] – ramanathan