사용자 도구

사이트 도구


intellij_idea:unittest

IntelliJ IDEA Unit Test

코드를 수정했으나 테스트 실행시 반영이 안되는 문제

  • 테스트 코드를 수정했으나 테스트 실행시 테스트 코드 변경사항이 반영이 안되고 꼭 프로젝트 build 를 수행해야만 하는 경우가 있다.
  • 이는 output 디렉토리 설정이 잘 못 돼 있을 경우 나타나는 현상으로 IntelliJ가 실제로 테스트 코드를 컴파일한 디렉토리와 실행시 참조하는 클래스패스가 다를 때 발생한다.
  • Run/Debug Configurations 에서 Use classpath of module 값을 변경해본다.

Branch Coverage 측정

  • Run/Debug Configurations → Defaults → JUnit → Code Coverage에서 다음 상태로 설정한 뒤에 테스트를 수행하면 된다.
    • Choose coverage Runner : IntelliJ IDEA
    • check Tracing
      • check Track per test coverage
  • Run With Coverage로 테스트를 실행하면 다음과 같이 어느 조건이 히트했고 안했는지를 코드 상에서 볼 수 있다.

고속 단위 테스트 설정 : 하지 말 것

  • Eclipse Mode 플러그인을 설치하고, 설정에서 Enable incremental compilation on Save를 체크한다.
    • 혹시 이로인해 문제가 생기면 IntelliJ IDEA 12 and Incremental Builds | Stitchy 참조.
    • EclipseMode는 XML 파일 등 프로그램 소스가 아닌 것을 저장해도 Make 명령을 내려서 오히려 속도를 떨어뜨릴 수도 있다.
  • Settings → Compiler 에서 Make project automatically 를 체크를 해제한다. 이는 완벅하게 저장할 때마다 컴파일하지는 않는다.
  • Run → Edit Configuration → Defaults → JUnitConfiguration 탭 → Before launch 항목에서 “Make”를 삭제!!한다. 이 설정을 해주면 빌드 과정 없이 즉시 단위 테스트를 실행한다.

intellij_idea/unittest.txt · 마지막으로 수정됨: 2018/08/06 17:07 저자 kwon37xi