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