2014-09-23 2 views
0

나는 같은 보이는 몇 가지 코드가 있습니다테스트 생성자는 다른 클래스를 인스턴스화

var testLib = function(params) { 
    this.conf = new testLib.Config(params); 
}; 

testLib.Config = function(params) { 
    //do stuff with params 
}; 

은과 같이 인스턴스화 :

var ins = new testLib({}); 

내가 tesLib 생성자 올바르게으로 구성을 인스턴스화하는 것을 테스트 할을 재스민을 사용하여 올바른 인수. 나는 이것을 시도하고있다 :

spyOn(window,'testLib.Config'); 
    var test = new testLib('testparam'); 
    expect(testLib.Config).toHaveBeenCalledWith('testparam'); 

그러나 이것은 작동하지 않는다. testLib.Config 메서드가 존재하지 않는다는 오류가 발생합니다. 내 전체 라이브러리를 포함하므로 재스민에서 사용할 수 있으므로 확실히 존재합니다.

어떻게 테스트 할 수 있습니까?

답변

0

spyOn 메서드의 두 번째 매개 변수는 function/method을 참조하는 속성 이름이어야합니다.

시도 spyOn(testLib, 'Config'). 그것은 작동해야합니다.

또한 javascript는 case senstive입니다. Config 속성은 대문자 C입니다. spyOn 메서드의 두 번째 매개 변수를 확인하십시오.

관련 문제