2012-09-25 3 views
1

다른 js 파일의 함수를 사용하는 js 함수를 테스트하고 있습니다. 내 외부 JS 파일의jasmine : 이름에 점이있는 함수 사용

하나는 같은 정의 된 함수가 있습니다

functionname.functionextension = 함수() {.....}을

자스민를 사용하여 테스트 및 functionname.functionextension를 호출 functionname이 정의되어 있지 않다고 불평합니다. 나는 그것이 functionname이 객체라고 믿고 있다고 생각한다.

이 문제를 해결하는 한 가지 방법은 함수 이름을 수정하는 것이지만 나는 그렇게 할 수 없다는 것을 알고있다. 다른 방법이 있습니까?

감사합니다.

답변

2

자바 스크립트에서 모든 기능은 개체입니다. 외부 JS 파일에서, 함수는 아마 다음과 같이 정의된다 :

var functionname = functionname || {}; 

functionname.functionextension = function() { 
    ... 
}; 

당신이 functionname가 정의되어 있지 않은 것을 스크립트 오류가 발생하는 경우, 외부에 오류 중 하나가 자바 스크립트 또는 일부를 호출하지 않습니다 외부 스크립트가 객체를 설정하는 데 필요한 초기화 함수.

+0

음 ... 알 수 있습니다. 그것은 하나의 장소가 var functionname = {}으로 정의되는 것을 볼 수 있습니다. 재스민 테스트의 맨 위에 재현 해 봤는데 "Object # 에 메소드의 기능 확장이 없다"라는 오류 메시지가 나타납니다. – lsaffie

0

그것은 나를 위해 일했습니다 ... 호출하는 동안 functionname.functionextension()과 같은 전체 이름으로 함수를 호출해야합니다.

관련 문제