TDD (Test Driven Development)

210729, 210730

TDD๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ

๊ธฐ์กด ๊ฐœ๋ฐœ ๋ฐฉ์‹

  1. ๊ตฌํ˜„

  2. ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ ์ง์ ‘ ํ™•์ธ

  3. ์„ฑ๊ณต

  4. ๊ฐœ์„ ์  ์ฐพ๊ธฐ

TDD

  1. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

  2. ๊ธฐ๋Šฅ ๊ตฌํ˜„

  3. ๋ฆฌํŒฉํ† ๋ง

TDD๋ฅผ ํ•˜๋Š” ์ด์œ 

  • ํ”„๋กœ๊ทธ๋žจ์ด ๋ณต์žกํ•ด ์งˆ์ˆ˜๋ก, ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๋•Œ๋งˆ๋‹ค ๊ธฐ๋Šฅ ์‚ฌ์ด์— ์—ฐ๊ด‘์„ฑ์ด ์ปค์ง„๋‹ค

  • ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋  ๋•Œ ๋งˆ๋‹ค ๋ธŒ๋ผ์šฐ์ €์—์„œ ํ™•์ธ์ด ์–ด๋ ค์›Œ์ง„๋‹ค

  • ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ๋ชจ๋ฅด๊ณ  ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๊ฐ€, ์ถ”ํ›„์— ์ˆ˜์ •ํ•  ๋•Œ ๊ฑด๋“œ๋ฆฌ๊ธฐ ์–ด๋ ค์›€

๋ธ”๋กœ๊ทธ ๋ชฉ๋ก ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋งŒ๋“ค๊ธฐ

  • ์‹œ์ž‘์€ ์ด๋ ‡๊ฒŒ ๋ง๋กœ ๋‹ค ์จ๋†“๋Š”๋‹ค.

  • ํ˜ผ์ž์„œ ๊ฐœ๋ฐœํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฟ์ด ๊ฐœ๋ฐœํ•  ๋•Œ ์ด๋Ÿฌํ•œ ๊ณผ์ •์ด ๋„์›€์ด ๋œ๋‹ค.

test.py

  • assertEqual(A, B)

    • A์™€ B๊ฐ€ ๊ฐ™์•„์•ผ ํ•œ๋‹ค. ๊ฐ™์ง€ ์•Š์œผ๋ฉด python manage.py test ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค.

    • ์œ„์—์„œ๋Š” soup.title.text์™€ 'Blog'๊ฐ€ ๊ฐ™์•„์•ผ ํ•œ๋‹ค๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ํ•˜๋‚˜์”ฉ ํ…Œ์ŠคํŠธ ํ•˜๊ณ  ์žˆ๋‹ค

  • assertIn[assertNotIn](A, B)

    • A๊ฐ€ B์•ˆ์— ํฌํ•จ๋˜[์ง€ ์•Š์•„]์–ด์•ผ ํ•œ๋‹ค๋ผ๋Š” ์ฝ”๋“œ

post_list.html

  • div์— main-area ๋ผ๋Š” id๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค

  • post_list.exists ๋กœ post_list๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€์— ๋Œ€ํ•œ if๋ฌธ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค

๋ธ”๋กœ๊ทธ ์ƒ์„ธ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋งŒ๋“ค๊ธฐ

tests.py

Last updated

Was this helpful?