ํฌ์ŠคํŠธ

๐ŸŒ’ Unit Test ์œ ๋‹›/๋‹จ์œ„ ํ…Œ์ŠคํŠธ

๐Ÿ’ซ Unit Test ์œ ๋‹›/๋‹จ์œ„ ํ…Œ์ŠคํŠธ


(ํŠน์ • ๋‹จ์œ„์˜) ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ํ…Œ์ŠคํŠธํ•˜๋Š” ์ฝ”๋“œ
ํŠน์ • ๋‹จ์œ„, ์œ ๋‹› : ํ•จ์ˆ˜, ํด๋ž˜์Šค, ์ปดํฌ๋„ŒํŠธ, ํ”„๋กœ๊ทธ๋žจ ์ผ๋ถ€ (!์ „์ฒด ํ”„๋กœ๊ทธ๋žจ)

๊ฐ„๋‹จํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด์„œ๋„, ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด๋ฅผ ์‹คํ–‰์‹œ์ผœ์•ผ ํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ
(๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ์˜ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๋ฆฌ์†Œ์Šค, ํ•„์š” ๋ฐ์ดํ„ฐ, ์„ ์กฐ๊ฑด)

๐Ÿ’ซ TDD?


TDD, Test Driven Development ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ
์ฝ”๋“œ๋ฅผ ์„ค๊ณ„ ํ•  ๋•Œ, Unit Test๋ฅผ ๋ฏธ๋ฆฌ ์ž‘์„ฑํ•˜๋Š”
์–ด๋–ป๊ฒŒ ๋ณด๋ฉด ์ฒ˜์Œ๋ถ€ํ„ฐ ์™„๋ฒฝํ•œ ์ƒํƒœ๋ฅผ ๊ฐ€์ง€๋ ค๊ณ  ํ•˜๋Š”

Public ํ•˜๊ฑฐ๋‚˜, API ์ด๊ฑฐ๋‚˜, I/O๊ฐ€ ๋ถ„๋ช…ํ•œ = ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ๋“ค์€
๋ฏธ๋ฆฌ Unit Test๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ์œ ์šฉ

ํ•˜์ง€๋งŒ ๊ทธ ์™ธ๋Š”,
์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ์ด๋‚˜, ๋ฏธ์ฒ˜ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ•œ ๋ฒ„๊ทธ๋‚˜, ์˜๋„์™€๋Š” ๋‹ค๋ฅธ ๋™์ž‘ ๋“ฑ์— ์˜ํ•ด
๋ชฉ์ /๊ตฌ์กฐ = ์ฝ”๋“œ๊ฐ€ ๊ฒฐ๊ตญ ๋ฐ”๋€Œ๊ธฐ ๋งˆ๋ จ

์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ ์–ด์ฐจํ”ผ ์ƒˆ๋กœ์šด Unit Test๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•˜๊ณ ,
์ˆ˜์ •๋œ ์ฝ”๋“œ์™€ ๋งž์ง€ ์•Š๋Š”, ๊ธฐ์กด์— ์ž‘์„ฑํ•œ Unit Test๋ฅผ ๋ณด์ˆ˜ํ•˜๋Š” ๊ฒƒ์€ ๋ถ„๋ช…ํ•œ ์ƒ์‚ฐ์„ฑ ์ €ํ•˜
ํ…Œ์ŠคํŠธ๊ฐ€ ์ฝ”๋“œ์˜ ๋ฐœ๋ชฉ์„ ์žก๋Š” ๊ฒฝ์šฐ๋„

๋•Œ๋ฌธ์—,
์ฝ”๋“œ๋ฅผ ๊ทธ๋ƒฅ ์งœ๊ณ ,
์‹ค์ œ๋กœ ๋ฒ„๊ทธ๊ฐ€ ์ผ์–ด๋‚˜๊ณ  ๊ฐ€์ •์ด ํ‹€๋ฆฌ๋Š” ์‹œ์ ์—์„œ ๊ทธ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ

๊ทธ๋ ‡๊ฒŒ ์ž‘์„ฑํ•œ Unit Test ์ž์ฒด๊ฐ€ ์ฝ”๋“œ์˜ ๋ช…์„ธ๊ฐ€ ๋˜๊ธฐ๋„ ํ•จ

+ ์–ด์ฐจํ”ผ ์ œ๋Œ€๋กœ ๋œ ํ…Œ์ŠคํŠธ ๊ณ„์†ํ•ด์•ผ ํ•จ

์ด ๊ธฐ์‚ฌ๋Š” ์ €์ž‘๊ถŒ์ž์˜ CC BY 4.0 ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.