1 minute read

ํด๋ฆฐ ์ฝ”๋“œ

์• ์ž์ผ ์†Œํ”„ํŠธ์›จ์–ด ์žฅ์ธ ์ •์‹ 

์ €์ž: ๋กœ๋ฒ„ํŠธ C. ๋งˆํ‹ด

3. ํ•จ์ˆ˜

page 39 ~ 66

๋ฃจํ‹ด๊ณผ ํ•˜์œ„ ๋ฃจํ‹ด

ํ”„๋กœ๊ทธ๋žจ - ํ•˜์œ„ ํ”„๋กœ๊ทธ๋žจ - ํ•จ์ˆ˜

๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋‹จ์œ„๊ฐ€ ํ•จ์ˆ˜

ํ•จ์ˆ˜๋ฅผ ์ž˜ ๋งŒ๋“œ๋Š” ๋ฒ• ์†Œ๊ฐœํ•˜๋Š” ์žฅ

์ž‘๊ฒŒ ๋งŒ๋“ค์–ด๋ผ!

ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ๊ทœ์น™์€ ์ฒซ๋ฒˆ์งธ๋„ โ€˜์ž‘๊ฒŒ!โ€™, ๋‘๋ฒˆ์งธ๋„ โ€˜์ž‘๊ฒŒ!โ€™๋‹ค. 2~4์ค„ ์ •๋„๋ฉด ์ ๋‹นํ•˜๋‹ค.

๋ธ”๋ก๊ณผ ๋“ค์—ฌ์“ฐ๊ธฐ

if๋ฌธ ๋“ฑ์— ๋“ค์–ด๊ฐ€๋Š” ๋ธ”๋ก์€ ํ•œ ์ค„์ด์–ด์•ผ ํ•œ๋‹ค.

ํ•œ ๊ฐ€์ง€๋งŒ ํ•ด๋ผ!

ํ•จ์ˆ˜๋Š” ํ•œ ๊ฐ€์ง€๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ ํ•œ ๊ฐ€์ง€๋ฅผ ์ž˜ ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ ํ•œ ๊ฐ€์ง€๋งŒ์„ ํ•ด์•ผ ํ•œ๋‹ค.

ํ•จ์ˆ˜ ๋‚ด ์„น์…˜

ํ•œ ๊ฐ€์ง€ ์ž‘์—…๋งŒ ํ•˜๋Š” ํ•จ์ˆ˜๋Š” ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์„น์…˜์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ ์–ด๋ ต๋‹ค.

ํ•จ์ˆ˜ ๋‹น ์ถ”์ƒํ™” ์ˆ˜์ค€์€ ํ•˜๋‚˜๋กœ!

๊ทผ๋ณธ ๊ฐœ๋…๊ณผ ์„ธ๋ถ€์‚ฌํ•ญ์„ ๋’ค์„ž๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด, ๊นจ์–ด์ง„ ์ฐฝ๋ฌธ์ฒ˜๋Ÿผ ์‚ฌ๋žŒ๋“ค์ด ํ•จ์ˆ˜์— ์„ธ๋ถ€์‚ฌํ•ญ์„ ์ ์  ๋” ์ถ”๊ฐ€ํ•œ๋‹ค.

์œ„์—์„œ ์•„๋ž˜๋กœ ์ฝ”๋“œ ์ฝ๊ธฐ: ๋‚ด๋ ค๊ฐ€๊ธฐ ๊ทœ์น™

ํ•œ ํ•จ์ˆ˜ ๋‹ค์Œ์—๋Š” ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ํ•œ ๋‹จ๊ณ„ ๋‚ฎ์€ ํ•จ์ˆ˜๊ฐ€ ์˜จ๋‹ค. ์ฆ‰, ์œ„์—์„œ ์•„๋ž˜๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์ฝ์œผ๋ฉด ํ•จ์ˆ˜ ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ํ•œ ๋ฒˆ์— ํ•œ ๋‹จ๊ณ„ ์”ฉ ๋‚ฎ์•„์ง„๋‹ค.

Switch ๋ฌธ

switch ๋ฌธ์„ ์ €์ฐจ์› ํด๋ž˜์Šค์— ์ˆจ๊ธฐ๊ณ  ์ ˆ๋Œ€๋กœ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์€ ์žˆ๋‹ค. ๋ฌผ๋ก  ๋‹คํ˜•์„ฑpolymorphism ์„ ์ด์šฉํ•œ๋‹ค. page 48

์„œ์ˆ ์ ์ธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ผ!

์„œ์ˆ ์ ์ธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž ๋จธ๋ฆฟ์†์—์„œ๋„ ์„ค๊ณ„๊ฐ€ ๋šœ๋ ทํ•ด์ง€๋ฏ€๋กœ ์ฝ”๋“œ๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค.

includeSetupAndTeardownPages, includeSetupPages, includeSuiteSetupPage, includeSetupPage

ํ•จ์ˆ˜ ์ธ์ˆ˜

์ด์ƒ์ ์ธ ์ธ์ˆ˜ ๊ฐœ์ˆ˜๋Š” 0๊ฐœ๋‹ค.

๋งŽ์ด ์“ฐ๋Š” ๋‹จํ•ญ ํ˜•์‹

ํ•จ์ˆ˜์— ์ธ์ˆ˜ 1๊ฐœ๋ฅผ ๋„˜๊ธฐ๋Š” ์ด์œ ๋กœ ๊ฐ€์žฅ ํ”ํ•œ ๊ฒฝ์šฐ๋Š” ๋‘ ๊ฐ€์ง€๋‹ค.

  1. ์ธ์ˆ˜์— ์งˆ๋ฌธ์„ ๋˜์ง€๋Š” ๊ฒฝ์šฐ
  2. ์ด๋ฒคํŠธ ํ•จ์ˆ˜

ํ”Œ๋ž˜๊ทธ ์ธ์ˆ˜

์ถ”ํ•˜๋‹ค.

์ดํ•ญ ํ•จ์ˆ˜

์ขŒํ‘œ์˜ ๊ฒฝ์šฐ

์‚ผํ•ญ ํ•จ์ˆ˜

์ฃผ์ถคํ•˜๊ฒŒ ๋œ๋‹ค.

์ธ์ˆ˜ ๊ฐ์ฒด

๋ณ€์ˆ˜๋ฅผ ๋ฌถ์–ด ๋„˜๊ธฐ๋ฉด ์ด๋ฆ„์„ ๋ถ™์—ฌ์•ผ ํ•˜๋ฏ€๋กœ ๊ฒฐ๊ตญ์€ ๊ฐœ๋…์„ ํ‘œํ˜„ํ•˜๊ฒŒ ๋œ๋‹ค.

์ธ์ˆ˜ ๋ชฉ๋ก

๋•Œ๋กœ๋Š” ์ธ์ˆ˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ€๋ณ€์ ์ธ ํ•จ์ˆ˜๋„ ํ•„์š”ํ•˜๋‹ค.

๋™์‚ฌ์™€ ํ‚ค์›Œ๋“œ

writeField(name)

assertExpectedEqualsActual(expected, actual)

๋ถ€์ˆ˜ ํšจ๊ณผ๋ฅผ ์ผ์œผํ‚ค์ง€ ๋งˆ๋ผ!

๋ถ€์ˆ˜ ํšจ๊ณผ๋Š” ๊ฑฐ์ง“๋ง์ด๋‹ค.

์ถœ๋ ฅ ์ธ์ˆ˜

appendFooter(s);

report.appendFooter();

๋ช…๋ น๊ณผ ์กฐํšŒ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ผ!

ํ•จ์ˆ˜๋Š” ๋ญ”๊ฐ€๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ๋ญ”๊ฐ€์— ๋‹ตํ•˜๊ฑฐ๋‚˜ ๋‘˜ ์ค‘ ํ•˜๋‚˜๋งŒ ํ•ด์•ผ ํ•œ๋‹ค.

์˜ค๋ฅ˜ ์ฝ”๋“œ๋ณด๋‹ค ์˜ˆ์™ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ!

try - catch

Try/Catch ๋ธ”๋ก ๋ฝ‘์•„๋‚ด๊ธฐ

try/catch ๋ธ”๋ก์„ ๋ณ„๋„ ํ•จ์ˆ˜๋กœ ๋ฝ‘์•„๋‚ด๋Š” ํŽธ์ด ์ข‹๋‹ค.

์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๋„ ํ•œ ๊ฐ€์ง€ ์ž‘์—…์ด๋‹ค.

ํ•จ์ˆ˜๊ฐ€ ํ•œ ๊ฐ€์ง€ ์ž‘์—…๋งŒ ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ํ•จ์ˆ˜๋„ ํ•œ ๊ฐ€์ง€ ์ž‘์—…์„ ํ•œ๋‹ค.

Error.java ์˜์กด์„ฑ ์ž์„

์–ด๋””์„ ๊ฐ€ ์˜ค๋ฅ˜ ์ฝ”๋“œ๋ฅผ ์ •์˜ํ•˜๋ฉด ์ž์„๊ณผ ๊ฐ™์ด importํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

๊ทธ๋ž˜์„œ ์ •์˜๋œ ์ฝ”๋“œ ๋ณ€๊ฒฝ์ด ์–ด๋ ค์›Œ์ง„๋‹ค. ๊ทธ๋ž˜์„œ ๊ธฐ์กด ์˜ค๋ฅ˜ ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•œ๋‹ค.

๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ๋ผ!

๋ชจ๋“  ์•…์˜ ๊ทผ์›์ด๋‹ค.

๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

ํ•จ์ˆ˜๋Š” return๋ฌธ์ด 1๊ฐœ์—ฌ์•ผ ํ•œ๋‹ค.

ํ•จ์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์งœ์ฃ ?

๊ธ€์ง“๊ธฐ์™€ ๋น„์Šทํ•˜๋‹ค.

์ดˆ์•ˆ์€ ๊ธธ๊ณ  ๋ณต์žกํ•˜๋‹ค.

๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋„ ๋งŒ๋“ ๋‹ค.

์ฝ”๋“œ๋ฅผ ๋‹ค๋“ฌ๊ณ , ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ , ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ณ , ์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ๋‹ค. ๋ฉ”์„œ๋“œ๋ฅผ ์ค„์ด๊ณ  ์ˆœ์„œ๋ฅผ ๋ฐ”๊พผ๋‹ค. ๋•Œ๋กœ๋Š” ์ „์ฒด ํด๋ž˜์Šค๋ฅผ ์ชผ๊ฐœ๊ธฐ๋„ ํ•œ๋‹ค.

์ด ์™€์ค‘์—๋„ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•œ๋‹ค.

๊ฒฐ๋ก 

๋Œ€๊ฐ€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ์‹œ์Šคํ…œ์„ (๊ตฌํ˜„ํ• ) ํ”„๋กœ๊ทธ๋žจ์ด ์•„๋‹ˆ๋ผ (ํ’€์–ด๊ฐˆ) ์ด์•ผ๊ธฐ๋กœ ์—ฌ๊ธด๋‹ค.

์ข€ ๋” ํ’๋ถ€ํ•˜๊ณ  ์ข€ ๋” ํ‘œํ˜„๋ ฅ์ด ๊ฐ•ํ•œ ์–ธ์–ด๋ฅผ ๋งŒ๋“ค์–ด ์ด์•ผ๊ธฐ๋ฅผ ํ’€์–ด๊ฐ„๋‹ค.