Skip to content

๐Ÿ“• [1๋ถ€ ๋ฆฌ๋ทฐ] Testโ€Driven Development : By Example

Choi Da-in edited this page Apr 23, 2024 · 2 revisions

Test-Driven Development : By Example

2023-09-07 (์„œ๋ฌธ, 1์žฅ ~51p)

  • ์ด์„ธ๋ช…
    • ๋นจ๊ฐ•, ์ดˆ๋ก, ๊ทธ๋ฆฌ๊ณ  ๋ฆฌํŒฉํ† ๋ง. ๋ฌด์—‡์ด๋“  ๋จผ์ € ์‹œ์ž‘ํ•˜๊ณ , ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ๊ฑฐ์น˜๋ฉฐ ๊ฐœ์„ ํ•ด๋‚˜๊ฐ€๋Š” ๊ณผ์ •์ด ์‚ด๋ฉด์„œ ๋งˆ์ฃผ์น  ์ˆ˜ ์žˆ๋Š” ๋งŽ์€ ๋ฌธ์ œ์˜ ํ•ด๊ฒฐ๊ณผ์ •๊ณผ ๋น„์Šทํ•˜์ง€ ์•Š์„๊นŒ ํ•˜๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค.
  • ์ •๋‹คํ˜„
    • TDD๋ฅผ ๋‚ด๊ฐ€ ์ตํ˜”๋Š”๊ฐ€? ๋ผ๊ณ  ํ•˜๋ฉด ์•„๋‹Œ ๊ฒƒ ๊ฐ™์•˜๋Š”๋ฐ, ์ฑ…์—์„œ TDD ์ˆ˜๋ จ๋ฒ•์„ ์†Œ๊ฐœํ•ด์ค˜์„œ ๋”ฐ๋ผํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ๊นŒ์ง€ 1) ๊ฐ„๋‹จํ•˜๊ณ  ์‰ฌ์šด ๋ฌธ์ œ๋กœ ์‹œ๋„ ํ•˜๋Š” ์—ฐ์Šต์„ ํ–ˆ๋‹ค๋ฉด 2) ์ž‘์€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ•˜๋‚˜๋ฅผ TDD๋กœ ์™„์„ฑํ•ด๋ณด๋Š” ๊ฒƒ ๋„ ์žฌ๋ฐŒ์„ ๊ฒƒ ๊ฐ™์•„์š”! 2) ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ TDD๊ฐ€ ์™œ ์ข‹์€ ์ง€ ์™€๋‹ฟ์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ตœ๋‹ค์ธ
    • ํ•œ๊ตญ์–ดํŒ ์ธํ„ฐ๋ทฐ์—์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ง์ด ๋‚˜์™”๋Š”๋ฐ ์ถฉ๊ฒฉ์ด์—ˆ๋‹ค.
      ๋‚ด๊ฐ€ ์•„์ง ๊ธฐ์ˆ ์ด ๋ถ€์กฑํ•ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ์ผ ๋ฟ ๋ชจ๋“  ๊ฒƒ์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์— ๊ณต๋ถ€ํ•  ๊ฒƒ์ด ๋งŽ์Œ์„ ๋Š๊ผˆ๋‹ค.

    ์ตœ๊ทผ์— ๋งŒ๋ธ๋ธŒ๋กœํŠธ(Mandelbrot) ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ–ˆ๋Š”๋ฐ, ํ”ฝ์…€ ํ•˜๋‚˜์— ๋Œ€ํ•ด์„œ๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ๋Š” ๊ทธ๋Ÿฐ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์œผ๋ฉฐ (์ƒ๋žต)

  • ํ•œ์ง€์›
    • ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์—†์ด ๊ฐœ๋ฐœ์„ ํ•˜๋ฉฐ ๋Š๊ผˆ๋˜ ๋ฌธ์ œ ๋“ค์ด TDD๋ฅผ ํ†ตํ•ด ์–ด๋Š์ •๋„ ํ•ด๊ฒฐ ๋  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ํ™•์‹ ์„ ์‹ฌ์–ด์ฃผ๋Š” ๋“œ๋Š” ํŒŒํŠธ์˜€์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ ์ฑŒ๋ฆฐ์ง€๋ฅผ ํ•  ๋•Œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ์™€ ์นœํ•ด์ง€๊ธฐ ์œ„ํ•ด ํ–ˆ๋˜ ๊ณผ์ œ๋“ค์ด ์ด ์ฑ…์˜ ๊ณผ์ •์— ๋” ๋ชฐ์ž…ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์ฃผ๊ณ ์žˆ๋‹ค๋Š” ์ƒ๊ฐ๋„ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

2023-09-14 (52p ~ 112p)

  • ์ด์„ธ๋ช…
    • TDD๋ž€ ์กฐ์ข…ํ•ด๋‚˜๊ฐ€๋Š” ๊ณผ์ •์ด๋‹ค!
  • ์ •๋‹คํ˜„
    • OOP๋ฅผ ๊ณต๋ถ€ํ•˜๋Š” ๋Š๋‚Œ์ด์—ˆ๋„ค์š”.. ๋ฆฌํŒฉํ† ๋ง ๊ณผ์ •์—์„œ ๋‹ฌ๋ผ์ง„ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ฐ˜์˜ํ•ด์„œ ์–ด๋–ป๊ฒŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด๋‚˜๊ฐ€๋Š”์ง€ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค!
    • ์˜ˆ์‹œ ์ฝ”๋“œ๊ฐ€ ์ž๋ฐ”๋ผ์„œ ์ดํ•ด๊ฐ€ ์–ด๋ ต๋„ค์š” ใ… ใ…  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ๊ฐ™์ด ๊ตฌํ˜„ํ•ด๋ณด๋ฉด์„œ ๊ณต๋ถ€ํ•ด๋ณด๋Š” ๊ฑด ์–ด๋–จ๊นŒ์š”!
  • ์ตœ๋‹ค์ธ
    • 61p ์‚ผ๊ฐ์ธก๋Ÿ‰ ์ „๋žต์ด๋ผ๋Š” ์ต์ˆ™ํ•˜์ง€๋งŒ ์ถ”์ƒ์ ์ด์—ˆ๋˜ ๋ฐฉ์‹์„ ๋ช…์‹œํ•ด์ฃผ์–ด์„œ, ์•ž์œผ๋กœ ์˜์‹์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.
    • 11์žฅ ๊นŒ์ง€์˜ ์˜ˆ์ œ์—์„œ ์ƒ์† ๊ด€๊ณ„์˜ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๊ฐ€ ์ œ๊ฑฐ๋˜๋Š” ๊ณผ์ •์—์„œ, ์•„ํ‚คํ…์ฒ˜ ์ฃผ๋„ ๊ฐœ๋ฐœ(architecture-driven develop)๊ณผ ์ • ๋ฐ˜๋Œ€๋ผ๋Š” ๋ง์„ ์‹ค๊ฐํ–ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ํ†ต๊ณผ์‹œํ‚ค๋Š” ๊ณผ์ •์—์„œ ์•„ํ‚คํ…์ฒ˜๋Š” ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋”ฐ๋ผ์˜ค๋Š” ๊ฒƒ์ด ์ธ์ƒ์ ์ด๋‹ค.
    • ์ผ„ํŠธ ๋ฐฑ์˜ ๊ธ‰๋ฐœ์ง„ ํฌ์ธํŠธ๋“ค์ด ๋„ˆ๋ฌด ์žฌ๋ฏธ์žˆ๋‹ค.๐Ÿคฃ

      ํŒ€์œผ๋กœ ๋Œ์•„๊ฐ€์„œ, "์ผ„ํŠธ๊ฐ€ ์„ค๊ณ„ ์–ด์ฉŒ๊ตฌ ํ•˜๋Š” ๊ฒƒ์€ ๋ชจ์กฐ๋ฆฌ ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค๊ณ  ํ–ˆ๋‹ค."๊ณ  ์ „ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค. ๋ฉˆ์ถฐ๋ผ.

  • ํ•œ์ง€์›
    • ์˜ˆ์‹œ๊ฐ€ ์ž๋ฐ”๋ผ ์กฐ๊ธˆ ์–ด์ƒ‰ํ–ˆ์ง€๋งŒ ์ €์ž์˜ ์ฝ”๋“œ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋”ฐ๋ผํ•˜๋ฉด์„œ TDD์— ๋Œ€ํ•œ ๊ฐ์ด ์žกํ˜€๊ฐ”์Šต๋‹ˆ๋‹ค.

2024-12 (113p ~ 157p)

  • ์ด์„ธ๋ช…
    • ์ €์ž๊ฐ€ ์ž‘์„ฑํ•œ ๋ฉ”ํƒ€ํฌ๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์› ๋‹ค. TDD๋ฅผ ์œ„ํ•œ ๊ธฐ๋Šฅ์€ ์•„๋‹Œ ๊ฒƒ ๊ฐ™์•˜์ง€๋งŒ ์ƒˆ๋กœ์šด ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์ตํžŒ ๋Š๋‚Œ์ด์—ˆ๋‹ค.
    • ์›๋ฌธ์˜ ์–ธ์–ด์™€ ์šฐ๋ฆฌ๊ฐ€ ๊ตฌํ˜„ํ•˜๋Š” ์–ธ์–ด์˜ ์ฐจ์ด๋กœ ์ธํ•œ ์ถ”๊ฐ€์ ์ธ ๊ณต๋ถ€๊ฐ€ ๋” ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค.
    • ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ๋ง์น˜๊ณ  ๊ทธ๊ฒŒ ๋Œ์•„๊ฐ€๋ฉด TDD๋Š” ์„ฑ๊ณตํ•œ๊ฑธ๊นŒ? ๐Ÿคญ
  • ํ•œ์ง€์›
    • 14์žฅ: ๋ฆฌํŒฉํ† ๋ง ๊ณผ์ •์— ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์‹ค์ˆ˜๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ , ๊ทธ๊ฒƒ์„ ๋ฐ”๋กœ ๊ณ ์น˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ด€๋ จ๋œ ๋˜ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ทธ๊ฒƒ์„ to do list์ฒ˜๋Ÿผ ํ™œ์šฉํ•œ ๊ณผ์ •์ด ์ธ์ƒ๊นŠ์—ˆ๋‹ค.
    • 15์žฅ: ์ž‘์—…์„ ํ•˜๋‚˜์”ฉ ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์—์„œ ์šฐ์„  ์ผ๋ฐ˜ํ™”๋ฅผ ์‹œํ‚ค๊ณ  ์ปดํŒŒ์ผ๋Ÿฌ์˜ ์—๋Ÿฌ๋ฉ”์‹œ์ง€์— ๋”ฐ๋ผ ์ ์ง„์ ์œผ๋กœ ์ „์ฒด ์˜์—ญ์„ ์ˆ˜์ •ํ•ด ๋‚˜๊ฐ€๋Š” ๋ฐฉ์‹์ด ๋‚˜์™”๋Š”๋ฐ, ์ด์ „ ์žฅ์˜ ๋‚ด์šฉ๊ณ  ๋”๋ถˆ์–ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ์‹์ด ์—ฌ๋Ÿฌ๊ฐ€์ง€๋ผ๋Š” ๊ฒƒ์„ ์ฒด๊ฐํ–ˆ๋‹ค.
    • 16์žฅ: ๊ทธ๋™์•ˆ์€ ์ €์ž๊ฐ€ TDD๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ณผ์ •์— ์ง‘์ค‘ํ•ด์„œ ๋”ฐ๋ผํ–ˆ์—ˆ๋Š”๋ฐ, ์ด ์žฅ์—์„œ๋Š” ๊ฒฝ์ œ์ ์œผ๋กœ TDD๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š”์ง€์™€ ์ œ๋Œ€๋กœ ์ง„ํ–‰๋˜๊ณ  ์žˆ๋Š”์ง€์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ์„ ๋‹ค๋ฃจ์—ˆ๋‹ค.
    • 17์žฅ: ๊ทธ๋™์•ˆ ํ•ด์™”๋˜ ๊ณผ์ •๋“ค์ด ์š”์•ฝ๋˜์–ด์žˆ์—ˆ๋Š”๋ฐ ์ €์ž๊ฐ€ ๊ฐ ์žฅ์—์„œ ์–ด๋–ค ์˜๋ฏธ๋ฅผ ์ „๋‹ฌํ•˜๊ณ ์žํ–ˆ๋Š”์ง€, ๋ญ˜ ๋ฐฐ์šฐ๊ณ  ๋ญ˜ ๋†“์ณค๋Š”์ง€ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋˜ TDD์˜ ๋ถ€์‚ฐ๋ฌผ๋กœ ๋‚˜์˜จ ํ…Œ์ŠคํŠธ์ฝ”๋“œ๊ฐ€ ์„ฑ๋Šฅ๊ณผ ์‚ฌ์šฉ์„ฑํ…Œ์ŠคํŠธ ๋“ฑ ์œ ์ง€๋ณด์ˆ˜ ๊ทธ ์ด์ƒ์˜ ๊ธฐ๋Šฅ๊นŒ์ง€ ํ•ด์ค„๊ฒƒ์ด๋ผ๊ณ  ์˜ˆ์ƒํ•˜์ง€๋ง๋ผ๋Š” ๋ง์ด ๊ฐ€์žฅ ์™€๋‹ฟ์•˜๋‹ค.
  • ์ตœ๋‹ค์ธ
    • 12์žฅ: ๋‹ค์ค‘ ํ†ตํ™” ์—ฐ์‚ฐ์„ ๊ตฌํ˜„ํ•  ๋•Œ ๋‚˜๋Š” ๋จธ๋ฆฌ์— ์ €์ž๊ฐ€ ์ฒ˜์Œ ๋งํ•œ ์ฐธ์กฐ ํ†ตํ™” ๋ฐฉ๋ฒ•์„ ๋– ์˜ฌ๋ ธ๋Š”๋ฐ, ์ด๊ฒŒ ์–ด๋ ค์šด ๋ฐฉ์‹์ด๋ผ๋ฉฐ ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•œ ๊ฒƒ์ด ์ธ์ƒ๊นŠ์€ ์ฑ•ํ„ฐ์˜€๋‹ค.
    • 13์žฅ: ์œ ์ตํ•˜๋‹ค. ์—ฌ๋Ÿฌ ํด๋ž˜์Šค ๊ฐ์ฒด๋“ค์— ๋Œ€ํ•ด ๋™์ผํ•œ ์—ฐ์‚ฐ์„ ๊ตฌํ˜„ํ•  ๋•Œ, ๊ฐ ํด๋ž˜์Šค๋ณ„๋กœ ๋Œ€์‘ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋Œ€์‹ , ๋‹คํ˜•์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ํด๋ž˜์Šค ๋‚ด๋ถ€์ ์œผ๋กœ ๊ตฌํ˜„์„ ๋งž์ถฐ์ฃผ์–ด ์ฝ”๋“œ๋ฅผ ์ค„์ธ ๋ถ€๋ถ„์ด ์œ ์ตํ–ˆ๋‹ค. ์‹ค๋ฌด์—์„œ ์ถฉ๋ถ„ํžˆ ์ ์šฉํ•ด๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์š”์ฆ˜ IDE์—์„œ๋Š” ํ•จ์ˆ˜๋“ค ํŠธ๋ž˜ํ‚น์ด ์ž˜ ๋˜์–ด์„œ ์ „ํ˜€ ๋Š๋ผ์ง€ ๋ชปํ–ˆ๋Š”๋ฐ, ํ‚ค์›Œ๋“œ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ง€์›ํ•˜๋Š” ์–ธ์–ด(python ๋“ฑ)๊ฐ€ ์•„๋‹Œ ์œ„์น˜ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด๋Š” ๊ทธ ์˜๋„๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ƒˆ์‚ผ ๋Š๊ผˆ๋‹ค.
    • 14์žฅ: ํ†ตํ™”์— ๋Œ€ํ•œ ํ™˜์œจ์„ ์ €์žฅํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ํƒœ์ŠคํŠธ ํ•  ๋•Œ, JUnit ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์—์„œ ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ ๊ฐ’ ๋™์ผ์„ฑ์„ ํ™•์ธํ•ด์ฃผ์ง€ ์•Š์•„ equals๋ฅผ ๋ณ„๋„๋กœ ๊ตฌํ˜„ํ–ˆ๋Š”๋ฐ, Vite๋‚˜ Jest์—์„œ๋Š” toMatchObject๋“ฑ์„ ์ œ๊ณตํ•˜์—ฌ ์‰ฝ๊ฒŒ ์ž‘์„ฑ๊ฐ€๋Šฅํ•  ๊ฒƒ ๊ฐ™๋‹ค. ํ™˜์œจ์— ๊ด€ํ•œ ํ•ด์‹œํ…Œ์ด๋ธ”์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ถ€๋ถ„์ด ์‹ ๊ธฐํ–ˆ๋‹ค.
    • 15์žฅ: Composite Pattern ์ด๋ผ๋Š” ๋ง์ด ๋‚˜์™”๋‹ค. ๊ฐœ๋ฐœ์—์„œ๋„ ์ž์ฃผ ๋“ฃ๋Š” ๋ง์ธ๋ฐ Composite, Factory ๋“ฑ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋””์ž์ธ ํŒจํ„ด์„ ์•Œ์•„๋ณด์•„์•ผ ํ•  ๋“ฏ ํ•˜๋‹ค.
    • 16์žฅ: ๋ฌธ์„œ๋กœ์„œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ์˜ ์ค‘์š”์„ฑ์— ๊ด€ํ•œ ๋‚ด์šฉ์ด ๋‚˜์™”๋‹ค. ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋Š” ๊ธฐ๋Šฅ์„ ๋น ์ง์—†์ด ํ…Œ์ŠคํŠธํ•˜๊ณ  ๊ฒ€์ฆํ•ด์•ผํ•˜์ง€๋งŒ, ๋”๋ถˆ์–ด ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ฝ”๋“œ์— ๋Œ€ํ•ด ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘์„ฑ๋˜์–ด์•ผํ•œ๋‹ค. ์˜ˆ์ œ์— ํด๋ž˜์Šค๊ฐ€ ๋งŽ์•„์ง€๊ณ  ๊ฐ ํด๋ž˜์Šค์— ๋™์ผํ•œ ๋ฉ”์„œ๋“œ๊ฐ€ ๊ตฌํ˜„๋˜๊ณ  ์žˆ๋Š”๋ฐ ์ฑ…์˜ ์ฝ”๋“œ๋งŒ๋ด์„œ๋Š” ๊ทธ ํ๋ฆ„์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™๋‹ค. ์Šคํ„ฐ๋””์—์„œ ์ง์ ‘ ์ž‘์„ฑํ•ด๋ณด์•„์•ผ๊ฒ ๋‹ค.
    • 17์žฅ: ์ง€๊ธˆ๊นŒ์ง€ ์ง„ํ–‰ํ•œ Money ์˜ˆ์ œ์˜ ํšŒ๊ณ ์ด๋‹ค. Money์˜ˆ์ œ์—์„œ ์•„์ง ์™„์„ฑ๋˜์ง€ ์•Š์€ ๋ถ€๋ถ„๋„ ์ •๋ฆฌํ•˜๋Š”๋ฐ, ์ถ”๊ฐ€๋กœ ์ง„ํ–‰ํ•ด๋ณด๋Š” ๊ฒƒ๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. JUnit์˜ ์‹คํ–‰ ๋กœ๊ทธ๋ฅผ ํ†ตํ•ด ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„์„ ๋ถ„์„ํ•œ ๋ถ€๋ถ„๋„ ์žฌ๋ฏธ์žˆ์—ˆ๋‹ค. ํ…Œ์ŠคํŠธ์ฝ”๋“œ์™€ ์‹ค์ œ ์ฝ”๋“œ์˜ ๋น„์œจ์ด ์œ ์‚ฌํ•œ ์ ๋„ ์žฌ๋ฏธ์žˆ๋Š” ๊ฒฐ๊ณผ์ธ ๊ฒƒ ๊ฐ™๋‹ค. ์šฐ๋ฆฌ๊ฐ€ Typescript๋กœ ๋ฒˆ์—ญํ•œ ์ตœ์ข… ์ฝ”๋“œ์—์„œ๋„ ํ†ต๊ณ„๋ฅผ ๋‚ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

      ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋˜๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ํ…Œ์ŠคํŠธ์˜ ์ˆ˜๋Š” ๊ทธ๋Œ€๋กœ ๋‘๋ฉด์„œ ํ”„๋กœ๊ทธ๋žจ์˜ ๋กœ์ง์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

1๋ถ€ ํšŒ๊ณ  ์ตœ์ข…๊ฒ€ํ† 

  • ํ…Œ์ŠคํŠธ๋ฅผ ํ™•์‹คํžˆ ๋Œ์•„๊ฐ€๊ฒŒ ๋งŒ๋“œ๋Š” ์„ธ ๊ฐ€์ง€ ์ ‘๊ทผ๋ฒ•: ๊ฐ€์งœ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ, ์‚ผ๊ฐ์ธต๋Ÿ‰๋ฒ•, ๋ช…๋ฐฑํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๊ธฐ.
  • ์„ค๊ณ„๋ฅผ ์ฃผ๋„ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์™€ ์‹ค์ œ ์ฝ”๋“œ ์‚ฌ์ด์˜ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ธฐ.
  • ๊ธธ์ด ๋ฏธ๋„๋Ÿฌ์šฐ๋ฉด ์†๋„๋ฅผ ์ค„์ด๊ณ  ์ƒํ™ฉ์ด ์ข‹์œผ๋ฉด ์†๋„๋ฅผ ๋†’์ด๋Š” ์‹์œผ๋กœ ํ…Œ์ŠคํŠธ ์‚ฌ์ด์˜ ๊ฐ„๊ฒฉ์„ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ.