2016-09-23 1 views
-2

는 여기 테스트에 여전히 꽤 새로운 해요 내 방법테스트를 처음 접했을 때, Mocha, Chai, Enzyme, Sinon으로 어떻게 테스트 할 수 있습니까?

handleKeyEvent(event) { 
    const code = event.keyCode; 

    if (UsedKeys.includes(code)) { 
     event.preventDefault(); 

     if (code === KeyCodes.DOWN) { 
     this.modifyIndexBy(1); 
     } else if (code === KeyCodes.UP) { 
     this.modifyIndexBy(-1); 
     } 
    } 
    } 

, 그리고 나는이 부분을 테스트하는 방법에 대한 가고 싶어하는 방법을 모른다. 이 메서드는 이벤트를 사용하므로 이벤트 객체를 합성하고 전달해야합니까?

그런 다음 어떻게해야합니까? this.modifyIndexBy()이 호출됩니다.

이 메서드는 아무 것도 반환하지 않습니다. 코드를 수정하여 테스트 할 수 있습니까?

답변

0

이렇게 할 수있는 방법이 몇 가지 있습니다.

  • 당신은 객체를 생성 한 다음 handleKeyDown가 주어진 매개 변수를 사용하여 호출 될 때 호출되는 것을 확인 modifyRowIndexBy 감시 할 수있다.
  • 당신은 그들이 독립적으로 테스트 할 수 있도록 modifyIndexBy 실제로 무엇을
  • 합니까 (당신이 테스트 같은 객체를 감시하는 나쁜 관행은) 당신의 "인덱스 수정"에서 키 처리를 분리 할 수 ​​있을까? 결과가이 동일 함을 테스트 할 수 있습니다 (실제로 modifyIndexBy이 호출되었지만 실제로는 modifyIndexBy이 수행해야하는 테스트는 수행되지 않습니다). 이는 더 많은 접근 방식입니다. BDD.
+0

[채팅에 대한 토론 계속] (http://chat.stackoverflow.com/rooms/124048/discussion-between-james-monger-and-brandon-sturgeon). –