Java

[Java] Java 11 Jupiter 활용한 Test Code 작성

예령 : ) 2023. 4. 19. 14:15

 

한 테스트 코드 함수 안에 여러 개의 테스트가 실행되는 경우,

앞의 테스트가 실패면 뒤에 테스트는 실행되지 않는다. -> 뒤의 테스트가 실패여도 앞의 테스트를 해결하기 전에는 판단할 수가 없다.

 

StudyTest.class

    @Test
    @DisplayName("스터디 만들기 📖")
    void create_Study() {
        Study study = new Study(-10);
        assertNotNull(study);
        assertEquals(StudyStatus.DRAFT, study.getStatus(), () -> "스터디를 처음 만들면 " + StudyStatus.DRAFT + " 상태다");
        assertTrue(study.getLimit() > 0, "스터디 최대 참석 인원은 0명 초과 ");
    }

 

해결 방법

assertAll() 함수 안에 람다 형식으로 여러 개의 테스트 케이스를 작성하면 모든 결과를 한 번에 볼 수 있다.

 

StudyTest.class

    @Test
    @DisplayName("스터디 만들기 📖")
    void create_Study() {
        Study study = new Study(-10);
        assertAll(
                () -> assertNotNull(study),
                () -> assertEquals(StudyStatus.DRAFT, study.getStatus(), () -> "스터디를 처음 만들면 " + StudyStatus.DRAFT + " 상태다"),
                () -> assertTrue(study.getLimit() > 0, "스터디 최대 참석 인원은 0명 초과")
        );
 }

 

 

공부 중인 강의 : 인프런 더 자바, 애플리케이션을 테스트하는 다양한 방법 (백기선 강사님)

https://www.inflearn.com/course/the-java-application-test/dashboard