0

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'을 사용할 수 없습니다. 모듈 이름의 철자가 잘못되었거나로드하는 것을 잊었습니다. 모듈을 등록하면 종속성을 두 번째 인수로 지정하십시오.

+0

당신은 통과 할 필요가 없습니다'[ 'ui.bootstrap']'시험하고있는 동안, 단지'beforeEach (모듈 ('TestModule')); ' – tanmay

+0

도 'ui.bootstrap '을 전달하지 않아도 같은 오류가 발생합니다 – lucky

+0

karma-conf.js 파일에 ui-bootstrap을 파일로 추가하십시오 : [ 'bower_components/*/*/ui-bootstrap.js '] – ramanathan

답변

0

각도 모의 라이브러리가 재스민에 종속되어 있기 때문에 jamin은 index.html의 각진 모듈보다 먼저 참조해야합니다.

load the libraries like jasmin angular,angular-mock from local folder instead from web

.

<link data-require="jasmine" data-semver="1.3.1" rel="stylesheet" href="http://cdn.jsdelivr.net/jasmine/1.3.1/jasmine.css"> 
<script data-require="jasmine" data-semver="1.3.1" src="http://cdn.jsdelivr.net/jasmine/1.3.1/jasmine.js"></script> 
<script data-require="jasmine" data-semver="1.3.1" src="http://cdn.jsdelivr.net/jasmine/1.3.1/jasmine-html.js"></script>   
<script data-require="angular.js" data-semver="1.1.5" src="http://code.angularjs.org/1.1.5/angular.min.js"></script> 
<script data-require="angular-resource.js" data-semver="1.1.5" src="http://code.angularjs.org/1.1.5/angular-resource.min.js"></script> 
<script data-require="angular-mocks" data-semver="1.1.5" src="angular-mocks.js"></script> 
<link rel="stylesheet" href="style.css"> 
<script src="jasmineBootstrap.js"></script> 
<script src="script.js"></script> 
<script src="addSpec.js"></script> 

단위 테스트에서 일부 실수는

it('Should ', function() { 

    expect(typeof TestCommonMock.getKeys()).toBe('object'); 
});