Assertion 정리
Assersions
assertEquals(1,2,3)
- 예상 결과값
- 검증이 필요한 파라미터
- 실패했을경우 출력해줄 메세지를 넣어주게됨. (String 타입 인자가 아니라 Supplier 타입이 들어가게됨.)
@Test
void create_test(){
MemberDto memberDto = MemberDto.builder()
.memberMstId("HelloWorld")
.build();
assertNotNull(memberDto);
assertEquals("HelloWorld",memberDto.getMemberMstId(), ()-> "헬로 월드");
}
람다식 기입을 하지 않은 경우 테스트가 실패 성공 여부와 관계없이 실행하지만 람다식 작성시 테스트가 실패했을 경우에만 연산을 하게됨
- 문자열의 출력이 성능저하를 우려할정도의 사이즈라면 람다식을 작성해보자
asssertTrue(1,2)
- Boolean Type
- 실패했을 경우 출력할 메세지
@Test
void create_test(){
MemberDto memberDto = MemberDto.builder()
.memberMstId("HelloWorld")
.build();
assertTrue(ObjectUtils.isEmpty(memberDto), () -> "HelloWorld");
}
assertAll
@Test
void create_test() {
MemberDto memberDto = null;
assertAll(
() -> assertNotNull(memberDto,()->"테스트1"),
() -> assertEquals("abc", memberDto, "테스트2"),
() -> assertTrue(!ObjectUtils.isEmpty(memberDto), () -> "테스트3")
);
}
위와같은경우 memberDto 가 Null 일경우 테스트가 실패하게 된다 이경우 아래에 있는 로직에 대한 검증을 할수 없게됨 이에 아래 모든 테스트를 수행을 원할 경우 assertAll 을 사용한다.
위 결과를 출력할 경우
3개의 테스트가 정상 종료되었다.
AssertThrows(1,2)
- 익셉션 클래스 정의
- 테스트 실행 로직.
@Test
void create_test() {
MemberDto memberDto = null;
IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, MemberDto::new);
assertEquals(exception.getMessage(),"에러 발생");
}
AssertTimeOut(1,2)
- Duration Type 의 시간
- 테스트 실행 로직
@Test
void create_test() {
MemberDto memberDto = null;
assertTimeout(Duration.ofSeconds(10), ()-> new MemberDto());
}
Author And Source
이 문제에 관하여(Assertion 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dkajffkem/Assertion-정리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)