본문 바로가기

java test

[TestCode] junit-platform.properties 설정파일 (JUnit5) - Junit 설정 파일로, 클래스 패스 루트 (src/test/resources/)에 넣어두면 적용된다. - 파일 생성시 클래스 패스로 인식하지 않을 수 있다. 그런 경우 아래와 같이 설정해주면 된다. - File -> Project Structure -> Modules -> 해당 디렉터리를 Test Resorces로 설정 # 테스트 인스턴스 라이프사이클 설정 junit.jupiter.testinstance.lifecycle.default = per_class - 위처럼 해당 파일에 per_class로 설정해주게되면 전체 테스트 코드는 per_class로 실행되는 걸 확인할 수 있다. - 클래스에서 @Testinstance 어노테이션을 제거해도 위처럼 하나의 인스턴스로 동작하는걸 확인할 수 있다. @T.. 더보기
[TestCode] @TransInstance 테스트 인스턴스 (JUnit5) - Junit은 테스트 메소드 마다 테스트 인스턴스를 새로 만든다. - 테스트 메소드를 독립적으로 실행하여 예상치 못한 부작용을 방지하기 위해서 @custom @DisplayName("테스트 인스턴스") void instance_ex() { System.out.println("value test1 = " + value++); System.out.println("instance test1 = " + this); } @custom @DisplayName("테스트 인스턴스2") void instance2_ex() { System.out.println("value test2 = " + value++); System.out.println("instance test1 = " + this); } - 실제로 위 코드를.. 더보기
[TestCode] assume 조건에 따라 테스트 실행 (JUnit5) assumeTrue : 조건 - 조건을 정해주고 해당조건에 적합한지 체크한다. @Test @DisplayName("조건에 맞춰 실행") void assume_ex() { Lunch lunch = new Lunch(); String test_env = "LOCAL"; assumeTrue("LOCAL".equals(test_env)); assertTrue(lunch.getLunch("test").equals("Complete"), () -> "실패시 메시지"); } - 현재 테스트 하는 환경을 예로 들어 LOCAL환경인지 개발환경인지 실서버 환경인지 여부를 체크하여 다음에 실행될 테스트 코드를 실행할지 여부를 정할 수 있다. 만일 위 코드에서 LOCAL 환경이 아니라면 다음 테스트는 실행되지 않을것이다. -.. 더보기