본문 바로가기

일상+자잘한 일

[우테코/프리코스/Week2] assertThatThrownBy assertThatCode 차이

Exception처리를 하는 도중 Exception이 아닌 경우를 Testing하고자 하였다.

위와 같은 상황을 생각했었는데 이상하게 통과하지 못하였다.

디버깅을 하여도 Exception없이 넘어가는 것을 확인했는데 doesNotThrowAnyException()으로 넘어가지 못하는 것을 보고 javadoc을 켰다.

 

AssertThatThrownBy

간단하게 Throwable한 것을 잡아내는 assert인데 공식 문서를 보니 아무것도 exception이 발생하지 않으면 오류를 발생시킨다는 것이 명시되어 있다.

링크: https://www.javadoc.io/static/org.assertj/assertj-core/3.14.0/org/assertj/core/api/Assertions.html#assertThatThrownBy(org.assertj.core.api.ThrowableAssert.ThrowingCallable)

 

 

AssertThatCode

하는 일은 assertThatThrownBy와 동일하게 throwable을 잡는다고 적혀있었다. 차이점은 exception이 발생하지 않은 경우 에러를 발생시키지 않는 차이라고 명시되어 있었다.

링크: https://www.javadoc.io/static/org.assertj/assertj-core/3.14.0/org/assertj/core/api/Assertions.html#assertThatCode(org.assertj.core.api.ThrowableAssert.ThrowingCallable)