ÄÜÅÙÃ÷ »ó¼¼º¸±â
ÀÚ¹Ù¿Í JUnitÀ» È°¿ëÇÑ ½Ç¿ëÁÖÀÇ ´ÜÀ§ Å×½ºÆ®


ÀÚ¹Ù¿Í JUnitÀ» È°¿ëÇÑ ½Ç¿ëÁÖÀÇ ´ÜÀ§ Å×½ºÆ®

ÀÚ¹Ù¿Í JUnitÀ» È°¿ëÇÑ ½Ç¿ëÁÖÀÇ ´ÜÀ§ Å×½ºÆ®

<Á¦ÇÁ ·©¾î>,<¾Øµð ÇåÆ®>,<µ¥À̺ê Å丶½º> Àú/<À¯µ¿È¯> ¿ª | ±æ¹þ

Ãâ°£ÀÏ
2019-07-22
ÆÄÀÏÆ÷¸Ë
ePub
¿ë·®
24 M
Áö¿ø±â±â
PC½º¸¶Æ®ÆùÅÂºí¸´PC
ÇöȲ
½Åû °Ç¼ö : 0 °Ç
°£·« ½Åû ¸Þ¼¼Áö
ÄÜÅÙÃ÷ ¼Ò°³
ÀúÀÚ ¼Ò°³
¸ñÂ÷
ÇÑÁÙ¼­Æò

ÄÜÅÙÃ÷ ¼Ò°³

¡º½Ç¿ëÁÖÀÇ ÇÁ·Î±×·¡¸Ó¡»ÀÇ ¾Øµð ÇåÆ®¿Í µ¥À̺ê Å丶½º°¡ ¾Ë·ÁÁÖ´Â

½Ç¿ëÁÖÀÇ ´ÜÀ§ Å×½ºÆ®!



Ŭ¸° ÄÚµåÀÇ ÇÙ½ÉÀÎ ´ÜÀ§ Å×½ºÆ®, ¾îµð¼­ ¾î¶»°Ô ½ÃÀÛÇØ¾ß ÇÒ±î? Ã¥¿¡¼­´Â ´ÜÀ§ Å×½ºÆ®ÀÇ °³³ä°ú ÀÛ¼º ÀÌÀ¯ºÎÅÍ Å×½ºÆ® °¡À̵å¶óÀÎ, ¸ñ °´Ã¼ »ç¿ë¹ý, ÀÚµ¿È­µÈ ´ÜÀ§ Å×½ºÆ®, ¸®ÆÑÅ丵±îÁö ´ÜÀ§ Å×½ºÆ®ÀÇ ÇÙ½É ³»¿ëÀ» ¼³¸íÇÑ´Ù. ¶ÇÇÑ, ÀÚ¹Ù¿Í JUnitÀ¸·Î ´ÜÀ§ Å×½ºÆ®¸¦ ´Ü°èº°·Î ½Ç½ÀÇÒ ¼ö ÀÖ°Ô ±¸¼ºÇß´Ù. ´ÜÀ§ Å×½ºÆ®°¡ óÀ½À̰ųª, ´ÜÀ§ Å×½ºÆ®¸¦ Á» ´õ ±í°Ô ÀÌÇØÇÏ°í ½ÍÀº ºÐµé¿¡°Ô ÃßõÇÑ´Ù.

ÀúÀÚ¼Ò°³

°æ·Â 30³â ÀÌ»óÀÇ º£Å׶û ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ·Î ¼ÒÇÁÆ®¿þ¾î °³¹ß»Ó¸¸ ¾Æ´Ï¶ó °³¹ß °ü·Ã ÄÚÄ¡¸¦ °âÇÏ°í ÀÖ´Ù. Outpace Systems, Inc.¿¡¼­ ÀÏÇß°í Áö±Ýµµ Langr Software Solutions, Inc.¿¡¼­ °í°´À» µ½°í ÀÖ´Ù. ¡ºAgile in a Flash¡»(ÆÀ ¿ÀÆðŠ°øÀú) µîÀ» ÁýÇÊÇß´Ù.

¸ñÂ÷

1ºÎ ´ÜÀ§ Å×½ºÆ®ÀÇ ±âÃÊ



1Àå ù ¹ø° JUnit Å×½ºÆ® ¸¸µé±â

1.1 ´ÜÀ§ Å×½ºÆ®¸¦ ÀÛ¼ºÇÏ´Â ÀÌÀ¯

1.2 JUnitÀÇ ±âº»: ù ¹ø° Å×½ºÆ® Åë°ú

__1.2.1 ÇÁ·ÎÁ§Æ® ¼³Á¤

__1.2.2 JUnit Å×½ºÆ® Á» ´õ ÀÌÇØ

__1.2.3 JUnit ½ÇÇà

1.3 Å×½ºÆ® Áغñ, ½ÇÇà, ´Ü¾ð

1.4 Å×½ºÆ®°¡ Á¤¸»·Î ¹º°¡¸¦ Å×½ºÆ®Çϴ°¡?

1.5 ¸¶Ä¡¸ç



2Àå JUnit ÁøÂ¥·Î ½á º¸±â

2.1 Å×½ºÆ® ´ë»ó ÀÌÇØ: Profile Ŭ·¡½º

2.2 ¾î¶² Å×½ºÆ®¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´ÂÁö °áÁ¤

2.3 ´ÜÀÏ °æ·Î Ä¿¹ö

2.4 µÎ ¹ø° Å×½ºÆ® ¸¸µé±â

2.5 @Before ¸Þ¼­µå·Î Å×½ºÆ® ÃʱâÈ­

2.6 ÀÌÁ¦ ¾î¶²°¡?

2.7 ¸¶Ä¡¸ç



3Àå JUnit ´Ü¾ð ±í°Ô Æıâ

3.1 JUnit ´Ü¾ð

__3.1.1 assertTrue

__3.1.2 assertThatÀº ¸íÈ®ÇÑ °ªÀ» ºñ±³

__3.1.3 Áß¿äÇÑ ÇÜÅ©·¹½ºÆ® ¸Åó »ìÆ캸±â

__3.1.4 ºÎµ¿¼Ò¼öÁ¡ ¼ö¸¦ µÎ °³ ºñ±³

__3.1.5 ´Ü¾ð ¼³¸í

3.2 ¿¹¿Ü¸¦ ±â´ëÇÏ´Â ¼¼ °¡Áö ¹æ¹ý

__3.2.1 ´Ü¼øÇÑ ¹æ½Ä: ¾Ö³ÊÅ×ÀÌ¼Ç »ç¿ë

__3.2.2 ¿¾ ¹æ½Ä: try/catch¿Í fail

__3.2.3 »õ·Î¿î ¹æ½Ä: ExpectedException ±ÔÄ¢

__3.2.4 ¿¹¿Ü ¹«½Ã

3.3 ¸¶Ä¡¸ç



4Àå Å×½ºÆ® Á¶Á÷

4.1 AAA·Î Å×½ºÆ® ÀÏ°ü¼º À¯Áö

4.2 µ¿ÀÛ Å×½ºÆ® vs ¸Þ¼­µå Å×½ºÆ®

4.3 Å×½ºÆ®¿Í ÇÁ·Î´ö¼Ç ÄÚµåÀÇ °ü°è

__4.3.1 Å×½ºÆ®¿Í ÇÁ·Î´ö¼Ç ÄÚµå ºÐ¸®

__4.3.2 ³»ºÎ µ¥ÀÌÅÍ ³ëÃâ vs ³»ºÎ µ¿ÀÛ ³ëÃâ

4.4 ÁýÁßÀûÀÎ ´ÜÀÏ ¸ñÀû Å×½ºÆ®ÀÇ °¡Ä¡

4.5 ¹®¼­·Î¼­ÀÇ Å×½ºÆ®

__4.5.1 ÀÏ°ü¼º ÀÖ´Â À̸§À¸·Î Å×½ºÆ® ¹®¼­È­

__4.5.2 Å×½ºÆ®¸¦ ÀÇ¹Ì ÀÖ°Ô ¸¸µé±â

4.6 @Before¿Í @After (°øÅë ÃʱâÈ­¿Í Á¤¸®) ´õ ¾Ë±â

__4.6.1 BeforeClass¿Í AfterClass ¾Ö³ÊÅ×À̼Ç

4.7 ³ì»öÀÌ ÁÁ´Ù: Å×½ºÆ®¸¦ ÀÇ¹Ì ÀÖ°Ô À¯Áö

__4.7.1 Å×½ºÆ®¸¦ ºü¸£°Ô

__4.7.2 Å×½ºÆ® Á¦¿Ü

4.8 ¸¶Ä¡¸ç



2ºÎ ºü¸¥ ¾Ï±â¹ý ½Àµæ



5Àå ÁÁÀº Å×½ºÆ®ÀÇ FIRST ¼Ó¼º

5.1 FIRST: ÁÁÀº Å×½ºÆ® Á¶°Ç

5.2 [F]IRST: ºü¸£´Ù

5.3 F[I]RST: °í¸³½ÃŲ´Ù

5.4 FI[R]ST: ÁÁÀº Å×½ºÆ®´Â ¹Ýº¹ °¡´ÉÇØ¾ß ÇÑ´Ù

5.5 FIR[S]T: ½º½º·Î °ËÁõ °¡´ÉÇÏ´Ù

5.6 FIRS[T]: Àû½Ã¿¡ »ç¿ëÇÑ´Ù

5.7 ¸¶Ä¡¸ç



6Àå Right-BICEP: ¹«¾ùÀ» Å×½ºÆ®ÇÒ °ÍÀΰ¡?

6.1 [Right]-BICEP: °á°ú°¡ ¿Ã¹Ù¸¥°¡?

6.2 Right-[B]ICEP: °æ°è Á¶°ÇÀº ¸Â´Â°¡?

6.3 °æ°è Á¶°Ç¿¡¼­´Â CORRECT¸¦ ±â¾ïÇ϶ó

6.4 Right-B[I]CEP: ¿ª °ü°è¸¦ °Ë»çÇÒ ¼ö Àִ°¡?

6.5 Right-BI[C]EP: ´Ù¸¥ ¼ö´ÜÀ» È°¿ëÇÏ¿© ±³Â÷ °Ë»çÇÒ ¼ö Àִ°¡?

6.6 Right-BIC[E]P: ¿À·ù Á¶°ÇÀ» °­Á¦·Î ÀϾ°Ô ÇÒ ¼ö Àִ°¡?

6.7 Right-BICE[P]: ¼º´É Á¶°ÇÀº ±âÁØ¿¡ ºÎÇÕÇϴ°¡?

6.8 ¸¶Ä¡¸ç



7Àå °æ°è Á¶°Ç: CORRECT ±â¾ï¹ý

7.1 [C]ORRECT: [C]onformance(Áؼö)

7.2 C[O]RRECT: [O]rdering(¼ø¼­)

7.3 CO[R]RECT: [R]ange(¹üÀ§)

__7.3.1 ºÒº¯¼ºÀ» °Ë»çÇÏ´Â »ç¿ëÀÚ Á¤ÀÇ ¸Åó »ý¼º

__7.3.2 ºÒº¯ ¸Þ¼­µå¸¦ ³»ÀåÇÏ¿© ¹üÀ§ Å×½ºÆ®

7.4 COR[R]ECT: [R]eference(ÂüÁ¶)

7.5 CORR[E]CT: [E]xistence(Á¸Àç)

7.6 CORRE[C]T: [C]ardinality(񃬔)

7.7 CORREC[T]: [T]ime(½Ã°£)

7.8 ¸¶Ä¡¸ç



3ºÎ ´õ Å« ¼³°è ±×¸²



8Àå ±ò²ûÇÑ ÄÚµå·Î ¸®ÆÑÅ丵Çϱâ

8.1 ÀÛÀº ¸®ÆÑÅ丵

__8.1.1 ¸®ÆÑÅ丵ÀÇ ±âȸ

__8.1.2 ¸Þ¼­µå ÃßÃâ: µÎ ¹ø°·Î Áß¿äÇÑ ¸®ÆÑÅ丵 Ä£±¸

8.2 ¸Þ¼­µå¸¦ À§ÇÑ ´õ ÁÁÀº Áý ã±â

8.3 ÀÚµ¿ ¹× ¼öµ¿ ¸®ÆÑÅ丵

8.4 °úÇÑ ¸®ÆÑÅ丵?

__8.4.1 º¸»ó: ¸íÈ®ÇÏ°í Å×½ºÆ® °¡´ÉÇÑ ´ÜÀ§µé

__8.4.2 ¼º´É ¿°·Á: ±×·¯Áö ¾Ê¾Æµµ µÈ´Ù

8.5 ¸¶Ä¡¸ç



9Àå ´õ Å« ¼³°è ¹®Á¦

9.1 Profile Ŭ·¡½º¿Í SRP

9.2 »õ·Î¿î Ŭ·¡½º ÃßÃâ

9.3 ¸í·É-ÁúÀÇ ºÐ¸®

9.4 ´ÜÀ§ Å×½ºÆ®ÀÇ À¯Áö º¸¼ö ºñ¿ë

__9.4.1 ÀÚ½ÅÀ» º¸È£ÇÏ´Â ¹æ¹ý

__9.4.2 ±úÁø Å×½ºÆ® °íÄ¡±â

9.5 ´Ù¸¥ ¼³°è¿¡ °üÇÑ »ý°¢µé

9.6 ¸¶Ä¡¸ç



10Àå ¸ñ °´Ã¼ »ç¿ë

10.1 Å×½ºÆ® µµÀü °úÁ¦

10.2 ¹ø°Å·Î¿î µ¿ÀÛÀ» ½ºÅÓÀ¸·Î ´ëü

10.3 Å×½ºÆ®¸¦ Áö¿øÇϱâ À§ÇÑ ¼³°è º¯°æ

10.4 ½ºÅÓ¿¡ Áö´É ´õÇϱâ: ÀÎÀÚ °ËÁõ

10.5 ¸ñ µµ±¸¸¦ »ç¿ëÇÏ¿© Å×½ºÆ® ´Ü¼øÈ­

10.6 ¸¶Áö¸· ÇϳªÀÇ ´Ü¼øÈ­: ÁÖÀÔ µµ±¸ ¼Ò°³

10.7 ¸ñÀ» ¿Ã¹Ù¸£°Ô »ç¿ëÇÒ ¶§ Áß¿äÇÑ °Í

10.8 ¸¶Ä¡¸ç



11Àå Å×½ºÆ® ¸®ÆÑÅ丵

11.1 ÀÌÇØ °Ë»ö

11.2 Å×½ºÆ® ³¿»õ: ºÒÇÊ¿äÇÑ Å×½ºÆ® ÄÚµå

11.3 Å×½ºÆ® ³¿»õ: Ãß»óÈ­ ´©¶ô

11.4 Å×½ºÆ® ³¿»õ: ºÎÀûÀýÇÑ Á¤º¸

11.5 Å×½ºÆ® ³¿»õ: ºÎǬ »ý¼º

11.6 Å×½ºÆ® ³¿»õ: ´Ù¼öÀÇ ´Ü¾ð

11.7 Å×½ºÆ® ³¿»õ: Å×½ºÆ®¿Í ¹«°üÇÑ ¼¼ºÎ »çÇ×µé

11.8 Å×½ºÆ® ³¿»õ: À߸øµÈ Á¶Á÷

11.9 Å×½ºÆ® ³¿»õ: ¾Ï½ÃÀû ÀǹÌ

11.10 »õ·Î¿î Å×½ºÆ® Ãß°¡

11.11 ¸¶Ä¡¸ç



4ºÎ ´õ Å« ´ÜÀ§ Å×½ºÆ® ±×¸²



12Àå Å×½ºÆ® ÁÖµµ °³¹ß

12.1 TDDÀÇ ÁÖµÈ ÀÌÀÍ

12.2 ´Ü¼øÇÏ°Ô ½ÃÀÛ

12.3 ¶Ç ´Ù¸¥ ÁõºÐ Ãß°¡

12.4 Å×½ºÆ® Á¤¸®

12.5 ¶Ç ´Ù¸¥ ÀÛÀº ÁõºÐ

12.6 ´Ù¼öÀÇ ÀÀ´ä Áö¿ø: ÀÛÀº ¼³°è ¿ìȸ·Î

12.7 ÀÎÅÍÆäÀ̽º È®Àå

12.8 ¸¶Áö¸· Å×½ºÆ®µé

12.9 ¹®¼­·Î¼­ÀÇ Å×½ºÆ®

12.10 TDDÀÇ ¸®µë

12.11 ¸¶Ä¡¸ç



13Àå ±î´Ù·Î¿î Å×½ºÆ®

13.1 ¸ÖƼ½º·¹µå ÄÚµå Å×½ºÆ®

__13.1.1 ´Ü¼øÇÏ°í ¶È¶ÈÇÏ°Ô À¯Áö

__13.1.2 ¸ðµç ¸ÅĪ ã±â

__13.1.3 ¾ÖÇø®ÄÉÀÌ¼Ç ·ÎÁ÷ ÃßÃâ

__13.1.4 ½º·¹µå ·ÎÁ÷ÀÇ Å×½ºÆ® Áö¿øÀ» À§ÇØ Àç¼³°è

__13.1.5 ½º·¹µå ·ÎÁ÷À» À§ÇÑ Å×½ºÆ® ÀÛ¼º

13.2 µ¥ÀÌÅͺ£À̽º Å×½ºÆ®

__13.2.1 °í¸¶¿ö, Controller

__13.2.2 µ¥ÀÌÅÍ ¹®Á¦

__13.2.3 Ŭ¸° ·ë µ¥ÀÌÅͺ£À̽º Å×½ºÆ®

__13.2.4 controller¸¦ ¸ñ ó¸®

13.3 ¸¶Ä¡¸ç



14Àå ÇÁ·ÎÁ§Æ®¿¡¼­ Å×½ºÆ®

14.1 ºü¸¥ µµÀÔ

14.2 ÆÀ°ú °°Àº Æí µÇ±â

__14.2.1 ´ÜÀ§ Å×½ºÆ® Ç¥ÁØ ¸¸µé±â

__14.2.2 ¸®ºä·Î Ç¥ÁØ Áؼö ³ôÀ̱â

__14.2.3 ¦ ÇÁ·Î±×·¡¹ÖÀ» ÀÌ¿ëÇÑ ¸®ºä

14.3 Áö¼ÓÀû ÅëÇÕÀ¸·Î ¼ö·Å

14.4 ÄÚµå Ä¿¹ö¸®Áö

__14.4.1 Ä¿¹ö¸®Áö´Â ¾î´À Á¤µµ¿©¾ß Çϴ°¡?

__14.4.2 100% Ä¿¹ö¸®Áö´Â ÁøÂ¥ ÁÁÀº°¡?

__14.4.3 ÄÚµå Ä¿¹ö¸®ÁöÀÇ °¡Ä¡

14.5 ¸¶Ä¡¸ç



ºÎ·Ï A ÀÎÅÚ¸®Á¦ÀÌ IDEA¿Í ³ÝºóÁî¿¡¼­ JUnit ¼³Á¤

A.1 ÀÎÅÚ¸®Á¦ÀÌ IDEA

A.2 ³ÝºóÁî