AssertJ

AssertJ๋Š” ํ…Œ์ŠคํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.

  • ๋ฉ”์†Œ๋“œ ์ฒด์ด๋‹์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ข€ ๋” ๊น”๋”ํ•˜๊ณ  ์ฝ๊ธฐ ์‰ฌ์šด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ๊ฐ€๋Šฅ(๊ฐ€๋…์„ฑ์ด ์ข‹์Œ)

  • ๊ฐœ๋ฐœ์ž๊ฐ€ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋ฉด์„œ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ๋ฉ”์†Œ๋“œ๋ฅผ ์ œ๊ณต

์˜์กด์„ฑ

image-20211226210215502

spring-boot-starter-test์— ๊ธฐ๋ณธ์ ์œผ๋กœ ํฌํ•จ๋˜์–ด์žˆ๋‹ค. spring-boot-starter-test๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

Gradle

Maven

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ์‹œ์ž‘ํ•˜๊ธฐ

Assertions.assertThat()

๋ชจ๋“  ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” assertThat() ๋ฉ”์„œ๋“œ์—์„œ ์‹œ์ž‘ํ•œ๋‹ค.

ํ…Œ์ŠคํŠธ ์‹คํŒจ ๋ฉ”์„ธ์ง€

  • ํ…Œ์ŠคํŠธ ์‹คํŒจ์‹œ ๋‚˜ํƒ€๋‚ผ ๋ฉ”์„ธ์ง€๋ฅผ .as()๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋ฐ˜๋“œ์‹œ ๊ฒ€์ฆ ๋ฌธ ์•ž์— ์ž‘์„ฑ๋˜์–ด์•ผํ•œ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ด๋‘๋ฉด ํ…Œ์ŠคํŠธ ์‹คํŒจ์‹œ ์ฝ˜์†”์ฐฝ์— ์—๋Ÿฌ๋ฉ”์„ธ์ง€๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถœ๋ ฅ๋œ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฒ€์ฆ๋ฌธ ๋’ค์— ์ž‘์„ฑํ•  ๊ฒฝ์šฐ ํ˜ธ์ถœ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

Collection ํ•„ํ„ฐ๋ง

.filteredOn()

.filteredOn()์œผ๋กœ ํ…Œ์ŠคํŠธํ•  ๋ฐ์ดํ„ฐ๋“ค์„ ํ•„ํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋•Œ not, in, notIn์— ๋Œ€ํ•œ ๊ฐ์ฒด ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฒ€์ฆํ•  ์ˆ˜ ๋„ ์žˆ๋‹ค.

Collection Data Extracting

๊ธฐ์กด์˜ ํด๋ž˜์Šค์˜ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ณ„๋„ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•ด์•ผํ–ˆ๋‹ค.

ํ•˜์ง€๋งŒ assertj์—์„œ extracting์„ ์ง€์›ํ•ด์ฃผ๋ฉด์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ์ถ”์ถœํ•ด ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค.

์ถ”์ถœํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ๊ฐœ๋ผ๋ฉด ํƒ€์ž… ์ง€์ •์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ๊ฐœ์ธ ๊ฒฝ์šฐ์—๋Š” assertj์—์„œ ์ง€์›ํ•ด์ฃผ๋Š” tuple()๋กœ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋‹ค.

SoftAssertions

Assertions.assertThat()์€ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•œ๊ฐœ๋ผ๋„ ์‹คํŒจํ•˜๋ฉด ํ•ด๋‹น ํ…Œ์ŠคํŠธ๋Š” ์ค‘์ง€๋œ๋‹ค.

SoftAssertions์„ ์ด์šฉํ•˜๋ฉด ๋ชจ๋“  assertThat์„ ์‹คํ–‰ํ•˜๊ณ  ํ•ด๋‹น ์‹คํŒจ ๋‚ด์—ญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฐธ๊ณ 

Last updated

Was this helpful?