Day 06
๐ ์ค๋ ์ฝ์ ๋ฒ์ : 3์ฅ ํจ์ (p.40~p.54)
๐ ์ฑ ์์ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ
- ํจ์๋ฅผ ๋ง๋๋ ์ฒซ์งธ ๊ท์น์ '์๊ฒ!'๋ค. ํจ์๋ฅผ ๋ง๋๋ ๋์งธ ๊ท์น์ '๋ ์๊ฒ!'๋ค.(p.42)
- if ๋ฌธ/else ๋ฌธ/while ๋ฌธ ๋ฑ์ ๋ค์ด๊ฐ๋ ๋ธ๋ก์ ํ ์ค์ด์ด์ผ ํ๋ค๋ ์๋ฏธ๋ค. ๋๊ฒ ๊ฑฐ๊ธฐ์ ํจ์๋ฅผ ํธ์ถํ๋ค. ๊ทธ๋ฌ๋ฉด ๋ฐ๊นฅ์ ๊ฐ์ธ๋ ํจ์๊ฐ ์์์ง ๋ฟ ์๋๋ผ, ๋ธ๋ก ์์์ ํธ์ถํ๋ ํจ์ ์ด๋ฆ์ ์ ์ ํ ์ง๋๋ค๋ฉด, ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ๋ ์ฌ์์ง๋ค.(p.44)
- ํจ์๋ ํ ๊ฐ์ง๋ฅผ ํด์ผ ํ๋ค. ๊ทธ ํ ๊ฐ์ง๋ฅผ ์ํด์ผ ํ๋ค. ๊ทธ ํ ๊ฐ์ง๋ง์ ํด์ผ ํ๋ค.(p.44)
- ํจ์๊ฐ 'ํ ๊ฐ์ง'๋ง์ ํ๋์ง ํ๋จํ๋ ๋ฐฉ๋ฒ์ด ํ๋ ๋ ์๋ค. ๋จ์ํ ๋ค๋ฅธ ํํ์ด ์๋๋ผ ์๋ฏธ ์๋ ์ด๋ฆ์ผ๋ก ๋ค๋ฅธ ํจ์๋ฅผ ์ถ์ถํ ์ ์๋ค๋ฉด ๊ทธ ํจ์๋ ์ฌ๋ฌ ์์ ์ ํ๋ ์ ์ด๋ค.(p.45)
- ํจ์๊ฐ ํ์คํ 'ํ ๊ฐ์ง' ์์ ๋ง ํ๋ ค๋ฉด ํจ์ ๋ด ๋ชจ๋ ๋ฌธ์ฅ์ ์ถ์ํ ์์ค์ด ๋์ผํด์ผ ํ๋ค.(p.45)
- ์ฝ๋๋ ์์์ ์๋๋ก ์ด์ผ๊ธฐ์ฒ๋ผ ์ฝํ์ผ ์ข๋ค. ํ ํจ์ ๋ค์์๋ ์ถ์ํ ์์ค์ด ํ ๋จ๊ณ ๋ฎ์ ํจ์๊ฐ ์จ๋ค. ์ฆ, ์์์ ์๋๋ก ํ๋ก๊ทธ๋จ์ ์ฝ์ผ๋ฉด ํจ์ ์ถ์ํ ์์ค์ด ํ ๋ฒ์ ํ ๋จ๊ณ์ฉ ๋ฎ์์ง๋ค.(p.46)
- ์ด๋ฆ์ด ๊ธธ์ด๋ ๊ด์ฐฎ๋ค. ๊ฒ๋จน์ ํ์ ์๋ค. ๊ธธ๊ณ ์์ ์ ์ธ ์ด๋ฆ์ด ์งง๊ณ ์ด๋ ค์ด ์ด๋ฆ๋ณด๋ค ์ข๋ค. ๊ธธ๊ณ ์์ ์ ์ธ ์ด๋ฆ์ด ๊ธธ๊ณ ์์ ์ ์ธ ์ฃผ์๋ณด๋ค ์ข๋ค. ํจ์ ์ด๋ฆ์ ์ ํ ๋๋ ์ฌ๋ฌ ๋จ์ด๊ฐ ์ฝ๊ฒ ์ฝํ๋ ๋ช ๋ช ๋ฒ์ ์ฌ์ฉํ๋ค. ๊ทธ๋ฐ ๋ค์, ์ฌ๋ฌ ๋จ์ด๋ฅผ ์ฌ์ฉํด ํจ์ ๊ธฐ๋ฅ์ ์ ํํํ๋ ์ด๋ฆ์ ์ ํํ๋ค.(p.49)
- ์ด๋ฆ์ ๋ถ์ผ ๋๋ ์ผ๊ด์ฑ์ด ์์ด์ผ ํ๋ค. ๋ชจ๋ ๋ด์์ ํจ์ ์ด๋ฆ์ ๊ฐ์ ๋ฌธ๊ตฌ, ๋ช ์ฌ, ๋์ฌ๋ฅผ ์ฌ์ฉํ๋ค. includeSetupAndTeardownPages, includeSetupPages, includeSutieSetupPage, includeSetupPage ๋ฑ์ด ์ข์ ์๋ค. ๋ฌธ์ ๊ฐ ๋น์ทํ๋ฉด ์ด์ผ๊ธฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ํ์ด๊ฐ๋ ์ฌ์์ง๋ค. ๋ฐฉ๊ธ ์ด๊ฑฐํ ํจ์๋ฅผ ์ดํด๋ณด๋ผ. ๋น์ฅ ์ด๋ฐ ์ง๋ฌธ์ด ๋ ์ค๋ฅด๋ฆฌ๋ผ. "includeTeardownPages, includeSuiteTeardownPage, includeTeardownPage๋ ์๋์?" ๋น์ฐํ๋ค. '์ง์ํ๋ ๋๋ก'๋ค.(p.50)
- ํจ์์์ ์ด์์ ์ธ ์ธ์ ๊ฐ์๋ 0๊ฐ(๋ฌดํญ)๋ค. ๋ค์์ 1๊ฐ(๋จํญ)๊ณ , ๋ค์์ 2๊ฐ(์ดํญ)๋ค. 3๊ฐ(์ผํญ)๋ ๊ฐ๋ฅํ ํผํ๋ ํธ์ด ์ข๋ค. 4๊ฐ ์ด์(๋คํญ)์ ํน๋ณํ ์ด์ ๊ฐ ํ์ํ๋ค. ํน๋ณํ ์ด์ ๊ฐ ์์ด๋ ์ฌ์ฉํ๋ฉด ์ ๋๋ค.(p.50)
- ํ๋๊ทธ ์ธ์๋ ์ถํ๋ค. ํจ์๋ก ๋ถ์ธ ๊ฐ์ ๋๊ธฐ๋ ๊ด๋ก๋ ์ ๋ง๋ก ๋์ฐํ๋ค. ์๋๊ณ ? ํจ์๊ฐ ํ๊บผ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๋ฅผ ์ฒ๋ฆฌํ๋ค๊ณ ๋๋๊ณ ๊ณตํํ๋ ์ ์ด๋๊น!(p.51)
- ํจ์ ์ด๋ฆ์ ํค์๋๋ฅผ ์ถ๊ฐํ๋ ํ์์ด๋ค. ์ฆ, ํจ์ ์ด๋ฆ์ ์ธ์ ์ด๋ฆ์ ๋ฃ๋๋ค. ์๋ฅผ ๋ค์ด, assertEquals ๋ณด๋ค assertExpetedEqualsActual (expected, actual)์ด ๋ ์ข๋ค. ๊ทธ๋ฌ๋ฉด ์ธ์ ์์๋ฅผ ๊ธฐ์ตํ ํ์๊ฐ ์์ด์ง๋ค.
๐ค ์ค๋ ์ฝ์ ์๊ฐ๊ณผ ๋ ์ค๋ฅด๋ ์๊ฐ
์ค๋ ์ฝ์ ๋ถ๋ถ์ ์ ๋ง ๋์์ด ๋ง์ด ๋๋ค.
๋งค๋ฒ ์ฝ๋๋ฅผ ์งค ๋ ํจ์๋ฅผ ์ด๋๊น์ง ๋๋ ์ผ ํ ์ง, ์ด๋ฆ์ ์ด๋ป๊ฒ ์ง์ด์ผ ํ๋ ๊ฑด์ง ํ์์ ์ ๋ง ๋ฌผ์ด๋ณผ ์ฌ๋๋ ์๊ณ ๊ถ๊ธํ๋ ๋ถ๋ถ์ด๋ค.
ํจ์ ์ด๋ฆ์ ์ง์ ๋๋ ์ด๋ฆ์ด ๋๋ฌด ๊ธธ์ด์ ธ์ ์ผ๋ถ๋ฌ ์งง๊ฒ ์ถ์ฝ์ํจ ์ ์ด ๋ช ๋ฒ ์์๋๋ฐ ๋ด์ฉ ์ค์์ '์ด๋ฆ์ด ๊ธธ์ด๋ ๊ด์ฐฎ๋ค. ๊ฒ๋จน์ ํ์ ์๋ค. ๊ธธ๊ณ ์์ ์ ์ธ ์ด๋ฆ์ด ์งง๊ณ ์ด๋ ค์ด ์ด๋ฆ๋ณด๋ค ์ข๋ค.'๋ผ๋ ๋ถ๋ถ์ ๋ณด๊ณ ํ์ ์ ๋๋ผ๊ฒ ๋์๊ณ , ํจ์๋ ํ ๊ฐ์ง ๊ธฐ๋ฅ๋ง ํ๊ฒ ๋ ์ต๋ํ ๋๋ ์ฃผ๋ ๊ฒ์ด ์ข๋ค๊ณ ์๊ฒ ๋์๊ณ ์ด ํ ๊ฐ์ง์ ๊ธฐ์ค์ ์ถ์ํ ์์ค์ด ํ๋๋ผ๊ณ ๋ด์ฉ์์ ํ์คํ ์๋ ค์ค์ ๊ฐ์ด ์กํ ๊ฒ ๊ฐ๋ค.
์ด๋ฐ ๋ด์ฉ๋ค์ ๋นจ๋ฆฌ ์ฝ๋๋ฅผ ์ง์ ์ง๋ฉด์ ์ ์ฉํด ๋ณด๊ณ ์ถ์ ๋ง์์ ์ค๋ ๋ค.
์ค๋ ์ด ๋ถ๋ถ์ ์ฝ๊ณ ์ด์ ๋ณด๋ค ์กฐ๊ธ์ด๋๋ง ๋์ ๋ด๊ฐ ๋ ๊ฒ ๊ฐ์์ ๋ง์กฑํ๋ค.
๐ ๊ถ๊ธํ ๋ด์ฉ์ด ์๊ฑฐ๋, ์ ์ดํด๋์ง ์๋ ๋ด์ฉ
์ถ์ํ๋ผ๋ ๋จ์ด๊ฐ ์์ฃผ ๋ฑ์ฅํ๋๋ฐ, ์ด ์ถ์ํ๋ผ๋ ๋จ์ด๊ฐ ๋ญ์ง ์์๋ดค๋ค.
์ถ์ํ๋ ๊ตฌ์ฒด์ ์ธ ๊ฒ์ ๊ฐ์ถ๊ณ ๋ณด๊ณ ์ถ์ด ํ๋ ์ ์ฒด์ ์ธ ํน์ฑ์ ๋๋ฌ๋ด๋ ๊ฒ์ด๋ค. ์ํํธ์จ์ด ๊ฐ๋ฐ์์์ ์ถ์ํ๋ ์ธํฐํ์ด์ค์ ์์กดํ๊ณ , ๊ตฌ์ฒด์ ์ธ ๊ตฌํ์๋ ์์กดํ์ง ์๋ ๊ฒ์ ๋งํ๋ ๊ฒ์ผ๋ก, ํจ์๋ฅผ ๊ธฐ๋ณธ์ ์ธ ์ถ์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ๋ค. ํจ์์ ์ด๋ฆ์ ํตํด์ ๊ตฌ์ฒด์ ์ผ๋ก ํ๋ ์ผ์ ์ถ์ํ์์ผ์ ๋ํ๋ธ๋ค๋ ๋ป์ด๋ค. ์๋ฅผ ๋ค์ด, "printf()"๊ฐ ํ์ผ์ ๋ํ ์ถ๋ ฅ์ ๋ด๋น ํ๋ค๋ ์๋ฏธ๋ก, ๊ตฌ์ฒด์ ์ธ ์ถ๋ ฅ์ ๊ด๋ จ๋ ๋ด์ฉ์ ์ถ์์ ์ผ๋ก ๋ํํด์ ํํํ๋ ๊ฒ๊ณผ ๊ฐ๋ค.
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=knix008&logNo=220700047637
์๊ฐ 3์ค ์์ฝ
- ํจ์๋ ํ ๊ฐ์ง ์ผ๋ง ์ต๋ํ ์๊ฒ!
- ๊ธธ๊ณ ์์ ์ ์ธ ์ด๋ฆ์ด ์งง๊ณ ์ด๋ ค์ด ์ด๋ฆ๋ณด๋ค ์ข๋ค.
- ํจ์๋น ์ถ์ํ ์์ค์ ํ๋๋ก.