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 |