jasmine을 사용하여 몇 가지 기본 테스트를 시도하고 있습니다. 내가 외부 라이브러리 &을 사용하고자하는 것은 spy/mock 메소드에서 라이브러리 객체 (d3)를 호출하고 적절한 메소드가 d3에서 호출되는지 확인하는 것입니다. 개체에 호출되고 '선택' 외부 라이브러리에서 jasmine 테스트
var d3Spy = jasmine.createSpyObj('d3', ['select']);
spyOn(window, 'd3').andReturn(d3Spy);
expect(d3Spy.select).toHaveBeenCalled();
, 나는이 오류가 발생합니다.
TypeError: Object function() {
spyObj.wasCalled = true;
spyObj.callCount++;
var args = jasmine.util.argsToArray(arguments);
spyObj.mostRecentCall.object = this;
spyObj.mostRecentCall.args = args;
spyObj.argsForCall.push(args);
spyObj.calls.push({object: this, args: args});
return spyObj.plan.apply(this, arguments);
} has no method 'select'
내가 뭘 잘못하고 있니? 코드에서
당신은 방금 내가 가진 모든 문제를 지적했습니다. 체인화 된 메서드 호출로 인해 상황이 더욱 복잡 해짐에 따라 제안한 솔루션에서 되돌아갔습니다. 지금은 모든 메소드 호출을 감시하는 것을 멈추었 고 중요한 메소드 호출을 간첩하고 간단한 메소드 호출 만 호출했습니다. – Andy