@Test
void create_test(){
MemberDto memberDto = MemberDto.builder()
.memberMstId("HelloWorld")
.build();
assertNotNull(memberDto);
assertEquals("HelloWorld",memberDto.getMemberMstId(), ()-> "헬로 월드");
}
람다식 기입을 하지 않은 경우 테스트가 실패 성공 여부와 관계없이 실행하지만 람다식 작성시 테스트가 실패했을 경우에만 연산을 하게됨
@Test
void create_test(){
MemberDto memberDto = MemberDto.builder()
.memberMstId("HelloWorld")
.build();
assertTrue(ObjectUtils.isEmpty(memberDto), () -> "HelloWorld");
}
@Test
void create_test() {
MemberDto memberDto = null;
assertAll(
() -> assertNotNull(memberDto,()->"테스트1"),
() -> assertEquals("abc", memberDto, "테스트2"),
() -> assertTrue(!ObjectUtils.isEmpty(memberDto), () -> "테스트3")
);
}
위와같은경우 memberDto 가 Null 일경우 테스트가 실패하게 된다 이경우 아래에 있는 로직에 대한 검증을 할수 없게됨 이에 아래 모든 테스트를 수행을 원할 경우 assertAll 을 사용한다.
위 결과를 출력할 경우
3개의 테스트가 정상 종료되었다.
@Test
void create_test() {
MemberDto memberDto = null;
IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, MemberDto::new);
assertEquals(exception.getMessage(),"에러 발생");
}
@Test
void create_test() {
MemberDto memberDto = null;
assertTimeout(Duration.ofSeconds(10), ()-> new MemberDto());
}