Java ¿ä¼Ò ÆíÁý

¿©±â¼­´Â Workbench¿¡¼­ Java ¿ä¼Ò¸¦ ÆíÁýÇÕ´Ï´Ù.

¾Æ¿ô¶óÀÎ º¸±â »ç¿ë¹ý

1.

ÆÐŰÁö º¸±â¿¡¼­ junit.textui.TestRunner.java¸¦ ã¾Æ µÎ ¹ø Ŭ¸¯ÇÏ¿© Java ÆíÁý±â¿¡¼­ ÀÌ ÆÄÀÏÀ» ¿©½Ê½Ã¿À.

2.

ÆíÁý±â ¿µ¿ª¿¡¼­ ÀÌ ÆÄÀÏÀÌ È°¼º ÆíÁý±â¿¡ Ç¥½ÃµÇ´ÂÁö È®ÀÎÇϽʽÿÀ. Ȱ¼º ÆíÁý±â¿¡ ¾øÀ¸¸é ÅÇÀ» Ŭ¸¯ÇÏ¿© Ç¥½ÃµÇµµ·Ï ÇϽʽÿÀ.

3.

ÆÐŰÁö º¸±â¿¡¼­ ÆíÁý±â ¿µ¿ª¿¡ ¿©·¯ ÀÚ¿øÀ» ¿­¾î ±¸¹® °­Á¶Ç¥½Ã¸¦ È®ÀÎÇϽʽÿÀ. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°½À´Ï´Ù.

  • ÀÏ¹Ý ÁÖ¼®
  • Javadoc ÁÖ¼®
  • Ű¿öµå ¹× Áßø À¯Çü
  • ¹®ÀÚ¿­

4.

¾Æ¿ô¶óÀÎ º¸±â¸¦ º¸½Ê½Ã¿À. ¾Æ¿ô¶óÀÎ º¸±â°¡ ¾î¶»°Ô ³ªÅ¸³ª´ÂÁö È®ÀÎÇϽʽÿÀ. ÆÐŰÁö ÀÚüÀÇ °èÃþ ±¸Á¶ ¾Æ¿ô¶óÀÎ ¿Ü¿¡ °¡Á®¿À±â ¼±¾ð, Çʵå, Ŭ·¡½º, ¸Þ¼Òµå°¡ Ç¥½ÃµÇ¾î ÀÖ½À´Ï´Ù.

5.

¾Æ¿ô¶óÀÎ º¸±â´Â Java ¿ä¼Ò°¡ Ãß»óÀÎÁö, ÃÖÁ¾ÀÎÁö µîÀÇ ¿©ºÎ¸¦ Ç¥½ÃÇÕ´Ï´Ù.

¾Æ¿ô¶óÀÎ º¸±â µµ±¸ ¸ðÀ½ÀÇ Çʵå Ç¥½Ã/¼û±â±â, ºñ°ø¿ë ±¸¼º¿ø Ç¥½Ã/¼û±â±â, Á¤Àû ±¸¼º¿ø Ç¥½Ã/¼û±â±â ´ÜÃ߸¦ Åä±ÛÇÏ¿© º¸±â Ç¥½Ã¸¦ ÇÊÅÍÇϽʽÿÀ.

6.

¾Æ¿ô¶óÀÎ º¸±âÀÇ Á¤·Ä ´ÜÃ߸¦ Åä±ÛÇÏ¿© Java ¿ä¼Ò¸¦ ¼øÂ÷·Î(ÄÄÆÄÀÏ ´ÜÀ§¿¡ Ç¥½ÃµÈ ´ë·Î) ¶Ç´Â ¾ËÆÄºª ¼ø¼­·Î Á¤·ÄÇϽʽÿÀ.

7.

ÄÄÆÄÀÏ ´ÜÀ§ÀÇ Àüü ¼Ò½º Äڵ带 º¸°í ¼Ò½º Äڵ带 ÆíÁýÇϰųª º¸±â ¹üÀ§¸¦ ÇϳªÀÇ ¿ä¼Ò·Î ÇÑÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. VectorTest.java ÅÇÀ» Ŭ¸¯ÇÏ°í µµ±¸ ¸ðÀ½ÀÇ ¼±ÅÃÇÑ ¿ä¼ÒÀÇ ¼Ò½º¸¸ Ç¥½Ã ´ÜÃ߸¦ Ŭ¸¯ÇϽʽÿÀ.

¾Æ¿ô¶óÀÎ º¸±â¿¡¼­ ¿©·¯ ¿ä¼Ò¸¦ ¼±ÅÃÇÏ°í ÆíÁý±âÀÇ ¼¼±×¸ÕÆ® º¸±â¿¡ °³º°ÀûÀ¸·Î Ç¥½ÃµÇ´ÂÁö È®ÀÎÇϽʽÿÀ.

8.

´Ù½Ã ÆíÁý±â ¿µ¿ªÀ» Ŭ¸¯ÇÏ°í µµ±¸ ¸ðÀ½¿¡¼­ µ¿ÀÏÇÑ ´ÜÃß(Àüü ¼Ò½º Ç¥½Ã)¸¦ Ŭ¸¯ÇϽʽÿÀ.

¾Æ¿ô¶óÀÎ º¸±â¿¡¼­ ¿©·¯ ¿ä¼Ò¸¦ ¼±ÅÃÇÏ°í ÆíÁý±âÀÇ Àüü ÆÄÀÏ º¸±â¿¡ Ç¥½ÃµÇ´ÂÁö ´Ù½Ã ÇÑ ¹ø È®ÀÎÇϽʽÿÀ. ÀÌÁ¦ ¾Æ¿ô¶óÀÎ º¸±â ¼±ÅûçÇ×ÀÌ ¸¶Ä¿ ¸·´ëÀÇ ¹üÀ§ Ç¥½Ã±â¿Í ÇÔ²² ÆíÁý±â¿¡ Ç¥½ÃµË´Ï´Ù.

¸Þ¼Òµå Ãß°¡ ¹× ÄÚµå Áö¿ø »ç¿ë¹ý

1.

¾Æ¿ô¶óÀÎ º¸±â µµ±¸ ¸ðÀ½ÀÇ Á¤·Ä ´ÜÃ߸¦ Åä±ÛÇÏ¿© º¸±â°¡ ¼ø¼­´ë·Î(¾ËÆÄºª ¼ø¼­°¡ ¾Æ´Ñ) Á¤·ÄµÇ¾ú´ÂÁö È®ÀÎÇϽʽÿÀ.

2.

ÆíÁý±â ¿µ¿ª¿¡ VectorTest.java ÆÄÀÏÀÇ ¸Ç ³¡(´Ý´Â ´ë°ýÈ£ ¾Õ)¿¡ ´ÙÀ½À» ÀÔ·ÂÇϽʽÿÀ.

public void testSizeIsThree (){

ÆíÁý±â ¿µ¿ª¿¡ ¸Þ¼Òµå À̸§À» ÀÔ·ÂÇÏ´Â Áï½Ã »õ ¸Þ¼Òµå°¡ ¹Ù·Î ¸Ç ¾Æ·¡ÀÇ ¾Æ¿ô¶óÀÎ º¸±â¿¡ ³ªÅ¸³³´Ï´Ù(º¸±â°¡ ¼ø¼­´ë·Î Á¤·ÄµÇ±â ¶§¹®).

3.

ÀúÀå ´ÜÃ߸¦ Ŭ¸¯ÇϽʽÿÀ.

Workbench°¡ ÀÚµ¿À¸·Î ºôµåµÇ¹Ç·Î ¿À·ù´Â ÆÐŰÁö º¸±â, Ÿ½ºÅ© Ç¥½Ã, ÆíÁý±â ¸¶Ä¿ ¸·´ë¿¡ Ç¥½ÃµÊ¿¡ À¯ÀÇÇϽʽÿÀ. ¶ÇÇÑ ÆÐŰÁö º¸±â¿¡¼­ ¿À·ù´Â ¿À·ù°¡ Æ÷ÇÔµÈ ÄÄÆÄÀÏ ´ÜÀ§ÀÇ ÇÁ·ÎÁ§Æ®¿¡±îÁö Àü´ÞµË´Ï´Ù.

4.

´ÙÀ½À» ÀÔ·ÂÇÏ¿© »õ ¸Þ¼Òµå¸¦ °è¼Ó Ãß°¡ÇϽʽÿÀ.

assertTrue(fFull.size() == 3); }

5.

ÀúÀå ´ÜÃ߸¦ Ŭ¸¯ÇϽʽÿÀ. ¿À·ù°¡ »ç¶óÁý´Ï´Ù.

·ÎÄà È÷½ºÅ丮¿¡¼­ ¸Þ¼Òµå »èÁ¦ ¹× ¹Ù²Ù±â

¿©±â¼­´Â ·ÎÄà È÷½ºÅ丮 Áö¿øÀ» »ç¿ëÇÏ¿© ÀÌÀü¿¡ ÀúÀåÇÑ °³º° Java ¿ä¼Ò ¹öÀüÀ¸·Î ½±°Ô ÀüȯÇÏ´Â °ÍÀ» ÇнÀÇÕ´Ï´Ù.

1.

¾Æ¿ô¶óÀÎ º¸±â¿¡¼­ ¹æ±Ý ÀÛ¼ºÇÑ testSizeIsThree() ¸Þ¼Òµå¸¦ ¼±ÅÃÇϰí ÄÁÅØ½ºÆ® ¸Þ´º¿¡¼­ »èÁ¦¸¦ ¼±ÅÃÇϽʽÿÀ.

2.

ÆíÁý±â¿¡¼­ VectorTest.java ÆÄÀÏ ¸Ç ³¡¿¡ testSizeIsThree() ¸Þ¼Òµå¸¦ Ãß°¡ÇϽʽÿÀ.

public void testSizeIsThree() { fFull.add(0, new Integer(0)); fFull.remove(new Integer(3)); assertTrue(fFull.size() == 3); }

¸ðµÎ ¿Ï·áÇßÀ¸¸é ÀúÀåÀ» Ŭ¸¯ÇϽʽÿÀ.

3.

¾Æ¿ô¶óÀÎ º¸±â¿¡¼­ testSizeIsThree() ¸Þ¼Òµå¸¦ ¼±ÅÃÇϰí ÄÁÅØ½ºÆ® ¸Þ´º¿¡¼­ ·ÎÄà È÷½ºÅ丮¿¡¼­ ¹Ù²Ù±â¸¦ ¼±ÅÃÇϽʽÿÀ.

4.

·ÎÄà È÷½ºÅ丮¿¡¼­ Java ¿ä¼Ò ¹Ù²Ù±â ´ëÈ­ »óÀÚ¿¡¼­ ·ÎÄà È÷½ºÅ丮 ¸ñ·ÏÀÌ ÇØ´ç ¿ä¼ÒÀÇ ´Ù¾çÇÑ ÀúÀå »óŸ¦ Ç¥½ÃÇϰí, Java ¼Ò½º ºñ±³ ºÐÇÒâÀÌ ¼±ÅÃµÈ È÷½ºÅ丮 ÀÚ¿ø°ú ±âÁ¸ Workbench ÀÚ¿ø °£ÀÇ Â÷ÀÌÁ¡À» ÀÚ¼¼È÷ Ç¥½ÃÇÕ´Ï´Ù.

5.

·ÎÄà È÷½ºÅ丮 ºÐÇÒâ¿¡¼­ »èÁ¦ÇÑ ¹öÀüÀ» ¼±ÅÃÇÑ ÈÄ ¹Ù²Ù±â¸¦ Ŭ¸¯ÇϽʽÿÀ.

6.

ÆíÁý±âÀÇ Äڵ尡 È÷½ºÅ丮 ¹öÀüÀ¸·Î ¹Ù²ò´Ï´Ù.

ÀúÀå ´ÜÃ߸¦ Ŭ¸¯ÇϽʽÿÀ.

ÄÁÅÙÃ÷ Áö¿ø »ç¿ë¹ý

1.

junit.samples.VectorTest.java¸¦ µÎ ¹ø Ŭ¸¯ÇÏ¿© ÆíÁý±â¿¡¼­ ¿©½Ê½Ã¿À.

2.

¾Æ¿ô¶óÀÎ º¸±â¿¡¼­ testSizeIsThree() ¸Þ¼Òµå¸¦ ¼±ÅÃÇÏ¿© ÆíÁý±â¿¡¼­ ÇØ´ç ¸Þ¼ÒµåÀÇ Äڵ带 Ž»öÇϽʽÿÀ.

3.

ÆíÁý±â¿¡¼­ ¸Þ¼Òµå ³¡¿¡ ´ÙÀ½ ÇàÀ» Ãß°¡ÇϽʽÿÀ.

Vector v = new Vector(); for (int i=0; i<3; i++) v.addElement(new Object()); assert

4.

assert¶õ ´Ü¾î ³¡¿¡ Ä¿¼­¸¦ µÎ°í Ctrl+½ºÆäÀ̽º¹Ù¸¦ ´­·¯ ÄÚµå Áö¿øÀ» Ȱ¼ºÈ­ÇϽʽÿÀ.

5.

¸ñ·Ï¿¡¼­ È­¸éÀ̵¿ÇÏ¿© »ç¿ë °¡´ÉÇÑ ¼±ÅÃÇ׸ñÀ» º¸½Ê½Ã¿À.

ÄÚµå Áö¿ø âÀÌ ¿©ÀüÈ÷ Ȱ¼ºÈ­µÈ »óÅ¿¡¼­ assert ´ÙÀ½¿¡ ¹®ÀÚ t¸¦ ÀÔ·ÂÇÏ¿©(°ø¹é ¾øÀÌ) ¸ñ·Ï ¹üÀ§¸¦ Á¦ÇÑÇϽʽÿÀ.

6.

¸ñ·ÏÀÇ ¿©·¯ Ç׸ñÀ» ¼±ÅÃÇÏ¿© Ä¿¼­¸¦ °®´Ù ´ë¸é °¢ Ç׸ñ¿¡ °üÇÑ »ç¿ë °¡´ÉÇÑ Javadoc µµ¿ò¸»À» º¼ ¼ö ÀÖ½À´Ï´Ù.

Âü°í: dz¼± µµ¿ò¸»À» º¸·Á¸é ¸ÕÀú Ç׸ñÀ» ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù.

7.

lost¿¡¼­ assertTrue(ºÎ¿ï) ¿É¼ÇÀ» ¼±ÅÃÇϰí Enter¸¦ ´©¸£½Ê½Ã¿À.

8.

ÄÚµå »ðÀÔ ÈÄ, ´ÙÀ½°ú °°ÀÌ ÇàÀ» ¿Ï¼ºÇϽʽÿÀ.

assertTrue(v.size() == fFull.size());

9.

¸ðµÎ ¿Ï·áÇßÀ¸¸é ÀúÀåÀ» Ŭ¸¯ÇϽʽÿÀ.

Smart Import Áö¿ø »ç¿ë¹ý

1.

¾ÆÁ÷ ¿­·Á ÀÖÁö ¾ÊÀº °æ¿ì junit.samples.VectorTest.java¸¦ µÎ ¹ø Ŭ¸¯ÇÏ¿© ÆíÁý±â¿¡¼­ ¿©½Ê½Ã¿À.

2.

¾Æ¿ô¶óÀÎ º¸±â¿¡¼­ import ¹®À» ¼±ÅÃÇϰí ÄÁÅØ½ºÆ® ¸Þ´º¿¡¼­ »èÁ¦¸¦ ¼±ÅÃÇϽʽÿÀ.

3.

ÆíÁý±âÀÇ ÄÁÅØ½ºÆ® ¸Þ´º¿¡¼­ °¡Á®¿À±â ü°èÈ­¸¦ ¼±ÅÃÇϽʽÿÀ.

4.

ÇÊ¿äÇÑ import ¹®ÀÌ ÆÐŰÁö ¼±¾ð ¾Æ·¡ÀÇ ÄÚµå óÀ½¿¡ Ãß°¡µË´Ï´Ù.

Âü°í: ȯ°æ ¼³Á¤ ÆäÀÌÁö(â > ȯ°æ ¼³Á¤ > Java > °¡Á®¿À±â ¼ø¼­)¿¡¼­ import ¹® ¼ø¼­¸¦ Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù.

5.

¸ðµÎ ¿Ï·áÇßÀ¸¸é ÀúÀåÀ» Ŭ¸¯ÇϽʽÿÀ.

¸Þ¼Òµå ÃßÃâ

¿©±â¼­´Â junit.framework.TestSuiteÀÇ »ý¼ºÀÚ Äڵ带 °³¼±ÇÕ´Ï´Ù. ÄÚµå ¸ñÀûÀÌ ¸íÈ®Çϵµ·Ï ±âº» Ŭ·¡½º¿¡¼­ collectTestMethods¶ó´Â »õ ¸Þ¼Òµå·Î Å×½ºÆ® »ç·Ê¸¦ ¼öÁýÇÏ´Â Äڵ带 ÃßÃâÇÕ´Ï´Ù.

1.

junit.framework.TestSuite.java ÆÄÀÏ¿¡¼­ ´ÙÀ½ ÄÚµå ¹üÀ§¸¦ ¼±ÅÃÇϽʽÿÀ.

Class superClass= theClass; Vector names= new Vector(); while (Test.class.isAssignableFrom(superClass)) { Method[] methods= superClass.getDeclaredMethods(); for (int i= 0; i < methods.length; i++) { addTestMethod(methods[i], names, constructor); } superClass= superClass.getSuperclass(); }

2.

ÆíÁý±âÀÇ ¼±ÅûçÇ× ÄÁÅØ½ºÆ® ¸Þ´º¿¡¼­ ¸Þ¼Òµå ÃßÃâÀ» ¼±ÅÃÇϽʽÿÀ.

3.

¸Þ¼Òµå À̸§ Çʵ忡 collectInheritedTests¸¦ ÀÔ·ÂÇÑ ÈÄ ´ÙÀ½À» Ŭ¸¯ÇϽʽÿÀ.

4.

¸®ÆÑÅ丵 ¹Ì¸®º¸±â ÆäÀÌÁö¿¡¼­ ¾ÕÀ¸·Î Àû¿ëµÉ º¯°æ»çÇ×À» Ç¥½ÃÇÕ´Ï´Ù.

5.

¸Þ¼Òµå°¡ ÃßÃâµË´Ï´Ù. ¾Æ¿ô¶óÀÎ º¸±â¿¡¼­ ¸Þ¼Òµå¸¦ ¼±ÅÃÇÏ¿© ÆíÁý±â¿¡¼­ Ž»öÇϽʽÿÀ.

¼±ÅûçÇ× ¿­±â ¹× À¯Çü °èÃþ ±¸Á¶¿¡¼­ ¿­±â »ç¿ë

1.

ÆÐŰÁö º¸±â¿¡¼­ junit.samples.money.MoneyTest.java¸¦ µÎ ¹ø Ŭ¸¯ÇÏ¿© ÆíÁý±â¿¡¼­ ¿©½Ê½Ã¿À.

2.

ÆíÁý±âÀÇ MoneyTest Ŭ·¡½º ¼±¾ðÀÇ Ã¹ ¹øÂ° Çà¿¡¼­ TestCase ¼öÆÛŬ·¡½º ½ºÆåÀ» ¼±ÅÃÇϰí

  • ¸Þ´º Ç¥½ÃÁÙ¿¡¼­ ÆíÁý > ¼±ÅûçÇ× ¿­±â¸¦ ¼±ÅÃÇϰųª
  • F3À» ´©¸£½Ê½Ã¿À.

Âü°í: ÀÌ ¸í·ÉÀº ¸Þ¼Òµå¿Í Çʵ忡 ´ëÇØ¼­µµ Àû¿ëµË´Ï´Ù.

3.

TestCase ¼öÆÛŬ·¡½º°¡ ÆíÁý±â ¿µ¿ª¿¡ ¿­¸®¸ç ¾Æ¿ô¶óÀÎ º¸±â¿¡µµ Ç¥½ÃµË´Ï´Ù.

4.

TestCase.java ÆíÁý±â ÅÇÀ» Ŭ¸¯ÇÏ¿© ÆíÁý±â¸¦ Ȱ¼ºÈ­ÇϽʽÿÀ. Ŭ·¡½º ¼±¾ðÀÌ ¼±ÅõǾî ÀÖ´ÂÁö È®ÀÎÇϰí

  • ¸Þ´º Ç¥½ÃÁÙ¿¡¼­ ÆíÁý > À¯Çü °èÃþ ±¸Á¶ ¿­±â¸¦ ¼±ÅÃÇϰųª
  • F4¸¦ ´©¸£½Ê½Ã¿À.

5.

°èÃþ ±¸Á¶ º¸±â°¡ ¿­¸®°í TestCase Ŭ·¡½º°¡ Ç¥½ÃµË´Ï´Ù.

°èÃþ ±¸Á¶ º¸±âÀÇ À¯Çü ¹× ¸Þ¼Òµå¿¡ ´ëÇØ¼­µµ ÆíÁý±â¸¦ ¿­ ¼ö ÀÖ½À´Ï´Ù.