나는 원래의 기능을 간첩하려고 노력해 왔지만 나는 제대로하지 못하고 있다고 생각한다. 이제이것은 재스민의 기능을 간첩하는 올바른 방법입니까?
testSpec.js
describe("Test:", function() {
var user = "foo";
var pass = "bar";
it("Expects login() will be called", function(){
var loginSpy = spyOn(window, 'login').andCallThrough();
login(user, pass);
expect(loginSpy).toHaveBeenCalled();
});
});
물론 내 테스트 통과 : the accepted answer of this SO question을 바탕으로
는나는이 사양을 썼다. 그러나 라인 login(user, pass)
을 제거하면 테스트가 실패합니다. 스파이를 andCallThrough()
으로 묶었습니다. 이제 내 test.js
에서 login(user, pass)
을 document.ready
에 전화하고 있으므로 추측됩니다. 그러나 나는 실제로 test.js
스크립트에서 실행되고있는 login()
함수에 대해 간첩을 댈 수있는 방법에 관해 혼란 스럽습니다. 나는 심지어 andCallThrough()
으로 생각하지 않는다. login()
이 test.js
에 존재한다고 염탐하고있다. 내가 놓치고 있는게 뭐니?
쿨 테스트에
init
함수를 호출 할 수 있습니다 전에! 깨끗한 솔루션! 감사. +1 –