๋ฌธ์ ์ํฉ

: ํ ์คํธ ์ฝ๋ ์ค ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ ์คํธํ๋ ๋ถ๋ถ์์ ๋ฐ์ํ๋ ์๋ฌ. ์๋ฌ๊ฐ ๋ฐ์๋์ง ์์๋ค๋ ์๋ฏธ์
์์ธ
์ฐ์ assertThatThrownBy๋
// then
assertThatThrownBy(() -> commentService.editComment(VALID_USER_ID, VALID_POST_ID, VALID_COMMENT_ID, requestDto))
.isInstanceOf(expectedException)
.hasMessage(errorMessage.getMessage());
Java 8 lambda๋ฅผ ์ด์ฉํ์ฌ Throwable ์์ธ๋ฅผ ๋ ์ ์ก์ ์ ์๊ฒ ํ๋ค.
๊ทธ๋์ ํด๋น ์ฌ์ง์์ ๋ฐ์ํ ์๋ฌ๋ ์์ธ๊ฐ ๋ฐ์ํ๊ธฐ๋ฅผ ๊ธฐ๋ํ์ง๋ง ์ค์ ๋ก๋ ์๋ฌด ์์ธ๋ ๋ฐ์ํ์ง ์์ ๋ ๋ฐ์ํ๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ
์๋ฌ ์บ์น ์ํฉ
๋ ์๋ชป๋ ์ฝ๋๋ฅผ ์ง์ ํด๋น ์์ธ๋ฅผ ์ก์ง ๋ชปํ๋ ๊ตฌ์กฐ๋ก ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ์ฌ์ ๋ฐ์ํ ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ฉด ํด๋น ์์ธ๋ฅผ ์ก์ ์ ์๋ ์ฝ๋๋ก ์์ ํ๋ฉด ๋๋ค.assertThatCode
๋ง์ฝ ๋ก์ง ์ ๋ฐ์ํ ์๋ฐ์ ์๋ ์ํฉ์ด๋ผ๋ฉดassertThatCode๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.assertThatCode๋ ์คํจํ ์๋ฐ์ ์๋ ์ฝ๋๋ฅผ ๊ฒ์ฆํ๋ ๊ฒ์ด๋ค.
assertThatThrownBy: ๋ฌด์กฐ๊ฑด ์๋ฌ๊ฐ ๋ฐ์ํด์ผ ํจ. ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์์ผ๋ฉด ์คํจassertThatCode: ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด ์๋จ. ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด ์คํจ
์ฐธ๊ณ ์๋ฃ
[javadoc-assertThatThrownBy]https://javadoc.io/doc/org.assertj/assertj-core/3.8.0/org/assertj/core/api/Assertions.html#assertThatThrownBy-org.assertj.core.api.ThrowableAssert.ThrowingCallable-
AssertThatThrownBy์ AssertThatCode์ ์ฐจ์ด