Back-end/Spring

[Spring] ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ (TDD)

๐Ÿ’ก ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์ด๋ž€?

 

์ด์ „ ๊ธ€์—์„œ get() ๋ฉ”์†Œ๋“œ์˜ ์˜ˆ์™ธ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ์ˆœ์„œ๋ฅผ ๋ณด๋ฉด,

์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๋„ฃ๊ธฐ ์œ„ํ•ด UserDao๋ฅผ ์ˆ˜์ •ํ•œ ํ›„  ์ˆ˜์ •ํ•œ ์ฝ”๋“œ๋ฅผ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•œ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„ ์ˆœ์„œ๊ฐ€ ์•„๋‹Œ,

ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ๋งŒ๋“ค์–ด ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•˜๋Š” ๊ฒƒ์„ ๋ณธ ํ›„ UserDao์˜ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ์ˆœ์„œ์ด๋‹ค.

 

์ด๋Ÿฌํ•œ ์ˆœ์„œ๋Š” ์ข€ ์ด์ƒํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ• ์ง€ ๋ชจ๋ฅด์ง€๋งŒ,

์ด๋Ÿฐ ์ˆœ์„œ๋กœ ์ง„ํ–‰ํ•˜๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ ์ด๋„๋Š” ๊ฐœ๋ฐœ์„ ๊ทน๋Œ€ํ™”ํ•œ ๋ฐฉ๋ฒ•์„ ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ(TDD)์ด๋ผ ํ•œ๋‹ค.

 

TDD์˜ ๊ธฐ๋ณธ ์›์น™

"์‹คํŒจํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์„ฑ๊ณต์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์ด ์•„๋‹Œ ์ฝ”๋“œ๋Š” ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค."

 

โœ๏ธ ์žฅ์ 

  • ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ์ŠคํŠธ๋ฅผ ๋นผ๋จน์ง€ ์•Š๊ณ  ๊ผผ๊ผผํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
  • ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์‹œ๊ฐ„๊ณผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์‹œ๊ฐ„์˜ ๊ฐ„๊ฒฉ์ด ์งง๋‹ค.
  • ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๋ฐ”๋กœ๋ฐ”๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • ์ฝ”๋“œ์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ๋น ๋ฅด๊ฒŒ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
  • ์ฝ”๋“œ์— ๋Œ€ํ•œ ํ™•์‹ ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฐ€๋ฒผ์šด ๋งˆ์Œ์œผ๋กœ, ์ž์‹ ๊ฐ๊ณผ ํ•จ๊ป˜ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐˆ ์ˆ˜๊ฐ€ ์žˆ๋‹ค.
  • ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

 

 

์ฐธ๊ณ  ๋ฌธ์„œ : 

ํ† ๋น„์˜ ์Šคํ”„๋ง3 (์ด์ผ๋ฏผ)

๋ฐ˜์‘ํ˜•