2017-09-11 3 views
0

backbone listenTo/on api를 사용하여 이벤트를 처리기에 등록하고 있습니다. 이제 jasmine을 사용하여 올바른 핸들러가 이벤트에 첨부되어 있는지 테스트하는 방법을 설명합니다. listenTo/on을 감시하고 올바른 eventName이 listenTo/on의 인수로 제공되는지 여부를 검사 할 수 있지만 올바른 콜백을 확인하는 적절한 방법은 이벤트에 등록되어 있습니다.백본 listenTo를 사용하여 등록 된 이벤트로 등록 된 콜백을 단위 테스트하는 방법은 무엇입니까?

편집 : 다음 문장을 unittest한다고 가정 해 봅니다.

if(condition) { 
    obj1.on('eventName1', callBack1); 
} 
else { 
    obj1.on('eventName2', callBack2); 
} 

지금, 나는 '을'스파이 그리고 그것은 'eventName1/eventName2'로 불려왔다,하지만 어떻게 콜백에 대해 동일한을 확인할지 여부를 자스민에서 확인할 수 있습니까?

+1

코드를 추가하여 적어도 지금까지 작성된 내용을 볼 수 있고 작동하지 않는 부분을 강조 표시 할 수도 있습니다. – Stuart

+0

@ 스튜어트 : 예제가 추가되었습니다. –

답변

0

예상 촛불을 엿볼 수 있으며 이벤트를 트리거 한 후에 불이 붙었는지 확인할 수 있습니다.

+0

하지만, 단위 테스트의 목적은 백본의 on/listenTo API로 적절한 인수를 제공했는지 확인하는 것입니다. 이벤트와 핸들러의 적절한 바인딩은 backbone.js의 on/listenTo 구현 범위에 있습니다. –

+0

@SubhankarMukherjee 이것은 "올바른 콜백을 확인하는 적절한 방법은 이벤트 *에 등록되어 있습니다."라는 질문입니다. 'listenTo'에 제공하는 인자는 여러분이 듣고 자하는 객체와 여러분이 호출하고자하는 객체의 메소드입니다. 그래서 그 메소드를 감시하고 그것이 호출되는지 확인하는 것은 당신이 'listenTo'에 제공 한 인자가 옳았다는 것을 보장합니다. 대답은 여전히 ​​유효합니다. –

관련 문제