4์žฅ

ํ…Œ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ ๋ชจ๋“  ํ…Œ์ŠคํŠธ๋ฅผ ์™„์ „ํžˆ ์ž๋™ํ™”ํ•˜๊ณ , ํ…Œ์ŠคํŠธ๊ฐ€ ์ž์‹ ์˜ ๊ฒฐ๊ณผ๋ฅผ ์Šค์Šค๋กœ ํ™•์ธํ•˜๊ฒŒ ํ•˜๋ผ.

  • ํ…Œ์ŠคํŠธ์˜ ๊ฒฐ๊ณผ ๋˜ํ•œ ์ปดํ“จํ„ฐ๊ฐ€ ํ™•์ธํ•˜๋„๋ก ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ผ.

  • TS_ASSERT_EQUALS( result, expected_result )

์–ธ์ œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š”๊ฐ€?

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์ž‘ ์ „

๊ตฌํ˜„๋ณด๋‹ค๋Š” ์ธํ„ฐํŽ˜์ด์Šค์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
์ฝ”๋”ฉ์„ ์™„๋ฃŒํ•  ๋ช…ํ™•ํ•œ ์ง€์ ( ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๋Š” ์ง€์ ) ์„ ๊ฐ–๊ฒŒ ๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•จ

ํ…Œ์ŠคํŠธ๋ฅผ ์ž์ฃผ ์‹คํ–‰ ์‹œ์ผœ๋ผ. ์ปดํŒŒ์ผ ํ•  ๋•Œ๋งˆ๋‹ค ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ณ , ์ ์–ด๋„ ํ•˜๋ฃจ์— ํ•œ๋ฒˆ ๋ชจ๋“  ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰์‹œ์ผœ๋ผ. ๋ฆฌํŒฉํ† ๋ง์„ ํ•  ๋•Œ๋Š” ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ์ฝ”๋“œ๋งŒ ๋ช‡ ๊ฐ€์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰์‹œ์ผœ์•ผ ํ•œ๋‹ค. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ( Unit test ) vs ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ( functional test )

๋‹จ์œ„ ํ…Œ์ŠคํŠธ

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ ์ƒ์‚ฐ์„ฑ ์ œ๊ณต

  • ๋ฒ”์œ„๊ฐ€ ๋งค์šฐ ํ•œ์ •์ 

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ž‘์„ฑ

๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

  • ์†Œํ”„ํŠธ์›จ์–ด ์ „์ฒด๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ์ง€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์„ฑ

  • ์‚ฌ์šฉ์ž์—๊ฒŒ ํ™•์‹คํ•œ ํ’ˆ์งˆ ์ œ๊ณต

  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์ƒ์‚ฐ์„ฑ์€ ๊ด€๊ณ„ ์—†์Œ

  • ๋ฒ„๊ทธ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์„ ์ฆ๊ธฐ๋Š” ๋‹ค๋ฅธ ํŒ€์— ์˜ํ•ด ๊ฐœ๋ฐœ๋˜์–ด์•ผ ํ•จ

ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ํ•˜๊ธฐ

  • ํด๋ž˜์Šค๊ฐ€ ํ•ด์•ผ ํ•˜๋Š” ๋ชจ๋“  ์ž‘์—…์„ ํ™•์ธํ•˜๊ณ , ๊ฐ๊ฐ์˜ ์ž‘์—…์— ๋Œ€ํ•ด ํด๋ž˜์Šค๊ฐ€ ์˜ค๋ฅ˜๋ฅผ ๋ฒ”ํ•  ์ˆ˜ ์žˆ๋Š” ์กฐ๊ฑด์— ๋Œ€ํ•ด ํ…Œ์ŠคํŠธ

  • ๋‹จ์ˆœํ•œ member ๋ณ€์ˆ˜๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๋Š” ์ ‘๊ทผ์ž(accessor)๋Š” ํ…Œ์ŠคํŠธ x

  • ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ๋งŒํ•œ ๊ณณ์— ์ง‘์ค‘ํ•ด์„œ ์ถ”๊ฐ€

์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ์–ด๋””๊ฐ€ ๋ณต์žกํ•œ์ง€, ๊ธฐ๋Šฅ์„ ๋ณด๊ณ  ์–ด๋Š ๊ณณ์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒƒ ๊ฐ™์€์ง€ ๋ณด๋ผํ…Œ์ŠคํŠธ๋กœ ๋ชจ๋“  ๋ฒ„๊ทธ๋ฅผ ์ฐพ์„ ์ˆ˜๋Š” ์—†๋‹ค.ํ•˜์ง€๋งŒ ๋ฆฌํŒฉํ† ๋ง์„ ํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ๋” ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๊ณ  ๋” ๋งŽ์€ ๋ฒ„๊ทธ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ๋ชจ๋“  ๋ฒ„๊ทธ๋ฅผ ์žก๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํ…Œ์ŠคํŠธ ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋Œ€๋ถ€๋ถ„์˜ ๋ฒ„๊ทธ๋ฅผ ์žก๊ธฐ ์œ„ํ•ด ํ•ฉ๋‹นํ•œ ์‹œ๊ฐ„์„ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด ๋” ๋‚ซ๋‹ค.

Last updated