jasmine에서 test function을 제어하는 방법은?

2017-07-12 12:12

jasmine으로 테스트 코드를 구현할 때 test를 skip하거나 특정 function만 실행하고 싶은 경우가 있다. 자바처럼 특정 메소드 단위로 테스트 메소드를 실행하는 방법을 찾았는데 아직까지 이 방법 밖에 찾지 못했다.

이 글에서 간단히 정리한 내용은 Controlling Which Tests Run In Jasmine에 더 구체적으로 정리되어 있다.

  • test function을 exclude하고 싶다면 it() 대신 xit() 사용
  • describe block을 exclue하고 싶다면 describe() 대신 xdescribe() 사용
  • 선택한 test만 실행하고 싶다면 it() 대신 fit() 사용. fit의 f는 focus
  • 선택한 describe block만 실행하고 싶다면 describe() 대신 fdescibe()를 사용

jasmine를 활용해 테스트 기반으로 개발할 때의 흐름은 다음과 같겠다.

  • 모든 test describe block과 it test는 모두 describe()와 it()로 구현한다.
  • 기능을 추가하는 경우 해당 block과 test에만 관심사가 있기 때문에 개발 단계에서 해당 block과 test만 focus 상태로 변경한 후 기능 구현을 진행한다.
  • 모든 기능 구현을 완료한 후 focus 상태로 있던 block 또는 test를 focus가 아닌 상태로 변경한다.
  • 개인적으로 기능 단위로 개발을 진행하는 경우가 일반적이기 때문에 describe block을 focus 상태로 둔 후에 여러 개의 테스트(it)를 실행하는 방식을 사용하는 것이 더 좋을 것 같다.

0개의 의견 from SLiPP

의견 추가하기

연관태그

← 목록으로