org.junit.jupiter.Assertions.*
<aside> ❓ 값이 null이 아닌지 확인하는 메서드 즉, Null 이면 테스트에 실패한다
</aside>
<aside> ❓ 인자로 넘어온 람다식(assert 메서드)를 모두 실행하고 모든 에러를 리턴한다
</aside>
@Test
void create3() {
assertAll(
()-> assertNotNull(null, () ->"널이면 터짐."),
()-> assertArrayEquals(new Integer[]{1, 2, 3, 4}, new Integer[]{1, 2, 3, 1}, ()->"다른 배열이면 터짐"),
()-> assertEquals(1, 2, "다른 숫자면 터짐"),
()-> assertThrows(NotFoundException.class, ()-> {throw new RuntimeException();}, "지정한 에러발생 안하면 터짐")
);
}
여러 에러를 한번에 보여주는 것을 알 수 있다
ThreadLocal 을 사용하는 코드를 테스트 할 경우
스프링의 테스트 트랜잭션은 롤백을 기본 설정으로 가지고 있다
하지만 롤백이 안되고 DB 에 반영이 될 수도 있다
ThreadLocal 을 사용하지 않을 경우
해당 함수를 사용할 수 있다