JAVA

JUnit5 Assertions

응디 2022. 12. 14. 14:33

1. assertAll

만약 assertAll을 안쓰면 assertEquals이 실패하면 assertTrue는 실패인지 성공인지 모른다.

따라서 한번에 테스트 결과를 확인하고 싶으면 assertAll로 묶자!

→ 보통은 여러개 테스트중 하나만 실패해도 다음 테스트를 진행할수 없지만 assertAll은 실패해도 다음 테스트를 진행 할 수 있다.(에러를 한번에 볼수가 있다.)

@Test
@DisplayName("스터디 만들기")
void create_new_study() throws Exception {
    Study study = new Study(-10);
		assertAll(  
            () ->assertNotNull(study),
            () ->assertEquals(StudyStatus.DRAFT, study.getStatus(),
								 "스터티를 처음 만들면 상태값이 DRAFT 여야 한다."),
            () ->assertTrue(study.getLimit() > 0,
								 "스터디 최대 참석 가능 인원은 0보다 커야한다.")
    );

}

 

2. assertThrow

@Test
@DisplayName("스터디 만들기")
void create_new_study() throws Exception {
        IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> new Study(-10));
        String message = exception.getMessage();
        assertEquals("limit는 0보다 커야한다.", message);
    }

 

3. assertTimeout

@Test
@DisplayName("스터디 만들기")
void create_new_study() throws Exception {
        assertTimeout(Duration.ofMillis(100), () -> {
            new Study(10); // 10초 안에 끝나야 한다.
            Thread.sleep(300);
        });
    }

'JAVA' 카테고리의 다른 글

Mock 객체 stubbing  (0) 2022.12.15
Mockito  (0) 2022.12.14
JUnit5 기본 annotation  (0) 2022.12.14
Homebrew mysql 설치  (0) 2022.12.07
JWT  (2) 2022.11.30