12. JUnit 5 junit-platform.properties

김성수·2022년 12월 27일
0

⚡ 생각대로 살지 않으면 사는대로 생각한다.
⚡ 나는 어차피 잘 될 놈이다. 이미 잘 되고 있고, 계속해서 잘 되고 있다.


JUnit 설정하는 기능

JUnit 5 에서는 JUnit 설정파일을 다음과 같이 제공해준다.

  • 테스트 인스턴스 라이프사이클 설정
    • junit.jupiter.testinstance.lifecycle.default = per_class
  • 확장팩 자동 감지 기능
    • JUnit 4에서 JUnit 5로 오면서 방법이 변경됨.
  • @Disabled 무시하고 실행하기(즉 모든 테스트 다 실행하기)
    • junit.jupiter.conditions.deactivate = org.junit.*DisabledCondition
    • DisabledOn JRE, OS 등 설정에 따른 Disabled를 무시하고 실행하게 할 수 있다.

      @Disabled를 주석처리한 후에 테스팅 결과이다. (나오는 것이 당연하다.)

      @Disabled를 주석해제한 후에 한 테스팅 결과다. (나오는 것이 안 당연한데, 나오고 있는 매직..)
      • 테스트 이름 표기 전략 설정
        • junit.jupiter.displayname.generator.default = \ org.junit.jupiter.api.DisplayNameGenerator$ReplaceUnderscores(참고로 \는 개행문자다..)
        • @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class) 테스트 클래스 위에 이름을 설정하는 애너테이션과 같다.
        • 테스트 메서드 이름의 언더바(_)를 공백으로 치환
        • 그러나 우선순위는 위와 같이 @DisplayName으로 설정한 값이 더욱 우선이다!

위와 같은 내용들을 아래와 같은 설정을 통해서 JUnit 기능을 설정할 수 있다.


설정파일 위치

test와 관련된
test/resources/junit-platform.properties와 같이 경로와 파일 이름을 지정해서 properties파일을 생성해주면 된다.

💡 만약 인텔리제이에서 해당 디렉터리를 테스트 리소스 디렉토리 로 인식을 하지 못 한 경우!!

클래스 패스로 사용을 하지 않기 때문인데, 테스트시 이 파일을 클래스패스로 인식하고 사용되게 하려면 인텔리제이 - File - Project Structure...에서 다음과 같이 설정해주면된다.

profile
쌩수 Git >> https://github.com/SsangSoo?tab=repositories

0개의 댓글