|
|
|
JUNIT IN ACTION: ´ÜÀ§ Å×½ºÆ®ÀÇ ¸ðµç °Í
|
|
|
Programming Insight(ÇÁ·Î±×·¡¹Ö ÀλçÀÌÆ®)1
¤Ó ÇÇÅÍ Å¸Ä¡ºê, À̺¹¿¬(°³¾Õ¸Ê½Ã)
¤Ó
ÀλçÀÌÆ®
¤Ó
Junit in action
|
|
|
|
- Á¦ÈÞ¸ô ÁÖ¹® ½Ã °í°´º¸»ó, ÀϺΠÀ̺¥Æ® Âü¿© ¹× ÁõÁ¤Ç° ÁõÁ¤, ÇÏ·ç/´çÀÏ ¹è¼Û¿¡¼ Á¦¿ÜµÇ¹Ç·Î Âü°í ¹Ù¶ø´Ï´Ù.
-
-
-
¡ºJUNIT IN ACTION: ´ÜÀ§ Å×½ºÆ®ÀÇ ¸ðµç °Í¡»Àº JUnitÀ» Áß½ÉÀ¸·Î, ´ÜÀ§ Å×½ºÆ®ÀÇ È¿°ú¿Í Á߿伺, ¼º°ÝÀÌ ´Ù¸¥ ¼ÒÇÁÆ®¿þ¾î °¢ ¿µ¿ªº° Áö¿ø Åø, À̵éÀ» °³¹ß ÇÁ·Î¼¼½º¿¡ ³ìÀÌ°í ÀÚµ¿È½ÃÅ°´Â ¹æ¹ý±îÁö ÀÚ¼¼ÇÏ°Ô ¼Ò°³Çϴ åÀÌ´Ù. Çö¾÷¿¡ ¹Ù·Î Àû¿ëÇÒ ¼ö ÀÖ´Â ¿¹Á¦µéÀ» Áß½ÉÀ¸·Î ±âº»ÀûÀÎ À̷аú ´Ù¼öÀÇ ¸ð¹ü »ç·Ê µîÀ¸·Î ±¸¼ºµÇ¾î ÀÖ´Ù.
-
-
JUnitÀ» ÀÌ¿ëÇÑ ´Ù¾çÇÑ Å×½ºÆ® ºñ¹ý
JUnitÀº ÀÚ¹Ù ´ÜÀ§ Å×½ºÆ®¸¦ À§ÇÑ ´ëÇ¥ÀûÀÎ ÇÁ·¹ÀÓ¿öÅ©·Î »ý»ê¼º Çâ»óÀ» ¸ñÀûÀ¸·Î °³¹ßµÇ¾ú´Ù. ÀÌÈÄ ¹öÀüÀÌ ¹Ù²î¸é¼ ¹ßÀüÀ» °ÅµìÇØ ÇöÀç´Â Ajax¿Í HTML ±â¹Ý Ç¥Çö °èÃþ ¹× OSGi¿Í °°Àº ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®¸¦ À§ÇÑ È®Àå ±â´É±îÁö Á¦°øÇÏ´Â µî ´õ¿í À¯¿ëÇÑ ÇÁ·¹ÀÓ¿öÅ©·Î À§»óÀ» ³ôÀÌ°í ÀÖ´Ù.
ÀÌ Ã¥Àº È£ÆòÀ» ¹Þ¾Ò´ø JUnit in ActionÀÇ °³Á¤ÆÇÀ¸·Î ±âº»ÀûÀÎ ´ÜÀ§ Å×½ºÆ® ¹× °Ý¸® Å×½ºÆ®¸¦ À§ÇÑ ¸ñ(mock) °´Ã¼ »ç¿ë¹ýºÎÅÍ Java EE³ª µ¥ÀÌÅͺ£À̽º ¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇÑ In-container Å×½ºÆ® ¹æ¹ýÀº ¹°·Ð Ant, Maven, CactusÀ» ÀÌ¿ëÇÑ Å×½ºÆ® µîÀ» Æ÷°ýÀûÀ¸·Î ´Ù·é´Ù. ¹«¾ùº¸´Ù ÀúÀÚµéÀÇ ¼ö¸¹Àº ½Ç¹« °æÇèÀ» ¹ÙÅÁÀ¸·Î Å×½ºÆ® ÀÚµ¿È µî ½Ç¹«¿¡¼ ²À ÇÊ¿äÇÑ Çö½ÇÀûÀÎ ¿ä±¸»çÇ×ÀÇ Çعý±îÁö Á¦½ÃÇÑ´Ù. ¶ÇÇÑ Å×½ºÆ® ÀÛ¼ºÀ» ´Ü¼øÈÇÏ´Â ¹ý, °³¼±µÈ ¿¹¿Ü ó¸®, assert ¸Þ¼µå µî ¹öÀüÀÌ ¹Ù²î¸ç »õ·Ó°Ô µµÀÔµÈ ÁÖÁ¦µéÀ» ´Ù¾çÇÑ ¿¹Á¦¸¦ ÅëÇØ ½±°Ô ¼³¸íÇÑ´Ù. ±× ¿Ü¿¡µµ ´Ù¸¥ À¯¸ÁÇÑ ¿ÀǼҽº ÇÁ·¹ÀÓ¿öÅ©¿Í Åø¿¡ JUnitÀ» ÅëÇÕÇÏ´Â ¹æ¹ýµµ ´Ù·ç°í ÀÖ¾î ´õ¿í ÀÔüÀûÀÎ È°¿ëÀÌ °¡´ÉÇÏ´Ù.
Á¦°¡ ¾´ ¡ºÀÚ¹Ù °³¹ßÀÚµµ ½±°í Áñ°Ì°Ô ¹è¿ì´Â Å×½ºÆà À̾߱⡻°¡ Å×½ºÆ®¿¡ ´ëÇؼ Àü¹ÝÀûÀ¸·Î ´Ù·é Ã¥À̶ó¸é, ÀÌ Ã¥Àº ÀÚ¹Ù °³¹ßÀÚ ºÐµéÀÇ Ä£±¸°¡ µÇ¾î¾ß ÇÏ´Â JUnitÀÇ ¹ÙÀ̺íÀ̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.
- NHN ¡ºÀÚ¹Ù °³¹ßÀÚµµ ½±°í Áñ°Ì°Ô ¹è¿ì´Â Å×½ºÆà À̾߱⡻ ÀÌ»ó¹Î
TDD¿Í ´ÜÀ§ Å×½ºÆ®¿¡ ´ëÇÑ Ã¥À» ¾´ »ç¶÷ÀÌ ºñ½ÁÇÑ ÁÖÁ¦ÀÇ ´Ù¸¥ ÀúÀÚ Ã¥¿¡ Ãßõ»ç¸¦ ¾²´Â ¾ÆÀÌ·¯´Ï´Â ¿ì¼± µÚ·Î ³²°Ü³õ°í À̾߱â ÇßÀ» ¶§, ÀÌ Ã¥Àº ÃæºÐÈ÷ Àо¸¸ÇÑ °¡Ä¡°¡ ÀÖ½À´Ï´Ù. ´ÜÀ§ Å×½ºÆ® ÀÛ¼º ½Ã ±â¼úÀûÀÎ ¾î·Á¿ò¿¡ óÇßÀ» ¶§ µµ¿òÀ» ÁÙ ¼ö ÀÖ´Â ¿©·¯ ÆÁÀÌ µé¾îÀÖ´Â ÁÁÀº Ã¥ÀÔ´Ï´Ù. Çà¿îÀ» º÷´Ï´Ù! :D
- LG CNS ¡ºÅ×½ºÆ® ÁÖµµ °³¹ß: °íÇ°Áú Äè¼Ó °³¹ßÀ» À§ÇÑ TDD ½Çõ¹ý°ú µµ±¸¡» ä¼ö¿ø
¾ÖÀÚÀÏ °³¹ßÀÌ ¼º°øÇÏ·Á¸é ¹Ýµå½Ã ÇÊ¿äÇÑ°Ô Å×½ºÆ® ÀÚµ¿ÈÀÔ´Ï´Ù. ÀÌ·± »ý°¢ ÇϽóª¿ä. ¡®JUnit ³Ê¹« ¿À·¡µÆÀݾÆ. ÆÒ½ÃÇÑ µµ±¸ ¾ø³ª? ¼Õ½±°Ô Å×½ºÆ®¸¦ ÀÚµ¿ÈÇÏ´Â »ó¿ëµµ±¸´Â ¾ø³ª?¡¯ ÀºÅºÈ¯Àº ¾ø½À´Ï´Ù¸¸, ÀÌ Ã¥(JUnit in Action)Àº JUnitÀ» ±â¹ÝÀ¸·Î Å×½ºÆ®¸¦ ÀÚµ¿ÈÇÏ´Â ´Ù¾çÇÑ ´ë¾ÈÀ» Á¦½ÃÇÕ´Ï´Ù.
- NHN »ý»ê¼ºÇõ½Å·¦ Ȳ»óö ¼ö¼®
[ÁÖ¿ä ³»¿ë]
ÆĶó¹ÌÅÍÈ Å×½ºÆ®
¿¹¿Ü ó¸® Å×½ºÆ®
ŸÀӾƿô Å×½ºÆ®
Å×½ºÆ® ÁÖµµ °³¹ß
½ºÅÓÀ» È°¿ëÇÑ Æ÷°ýÀûÀÎ Å×½ºÆ®
¸ñ °´Ã¼¸¦ È°¿ëÇÑ Å×½ºÆ®
In-container Å×½ºÆ®
Ant·Î JUnit Å×½ºÆ®
Maven2·Î JUnit Å×½ºÆ®
CruiseControl
Hudson
Ç¥Çö °èÃþ Å×½ºÆ®
Selenium Å×½ºÆ®
Ajax Å×½ºÆ®
Google Web Toolkit ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®
Cactus¸¦ ÀÌ¿ëÇÑ ¼¹ö´Ü ÀÚ¹Ù Å×½ºÆ®
JSP Å×½ºÆ®
OSGi ÄÄÆ÷³ÍÆ® Å×½ºÆ®
µ¥ÀÌÅͺ£À̽º ¾×¼¼½º Å×½ºÆ®
JPA ±â¹Ý ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®
--------------------------------------------------------
¡°JUnitÀº ¹°·Ð, ´ÜÀ§ Å×½ºÆ® Àü¹Ý¿¡ ´ëÇÑ ÃÖ°íÀÇ ¾È³»¼.¡±
- ŸÀ̽¼ ¸Æ½ºÀ£(Tyson S. Maxwell), ·¹À̽ÿÂ(Raytheon)»ç
¡°JUnit »ç¿ëÀ» ÁøÁöÇÏ°Ô °í·Á ÁßÀÎ ¸ðµç ÀÌ¿¡°Ô ÀÌ Ã¥À» ±ÇÇÑ´Ù.¡±
- ·Î¹öÆ® ÇÚ½¼(Robert Hanson), GWT in ActionÀÇ ÀúÀÚ
¡°´ÜÀ§ Å×½ºÆ®¸¦ À§ÇÑ °ß½ÇÇÑ Åä´ë¸¦ Á¦°øÇÑ´Ù. ƯÈ÷ Ant³ª Maven ¹× ÀÌŬ¸³½º »ç¿ëÀÚ¿¡°Ô ´õ¿í À¯¿ëÇÏ´Ù.¡±
- ´õ±× ¿ö·»(Doug Warren), Java Web Services
¡°ÀÌ Ã¥ ¾È¿¡¼ Å×½ºÆ®ÇÏ´Â ¹æ¹ý ÀüºÎ¸¦ ¸¸³ªº¼ ¼ö ÀÖ´Ù!¡±
- Á¸ ±×¸®ÇÉ(John Griffin), Hibernate Search in ActionÀÇ ÀúÀÚ
-
-
¿ªÀÚ ¼¹®
¼¹®
ÃÊÆÇÀÇ ¼¹®
°¨»çÀÇ ±Û
ÀÌ Ã¥¿¡ ´ëÇØ
ÀúÀÚ ¼Ò°³
Ç¥Áö ÀÏ·¯½ºÆ® ¼Ò°³
1ºÎ JUnit ±âº»
1Àå JUnit ù°ÉÀ½
1.1 µ¿ÀÛ Áõ¸íÇϱâ
1.2 ¹Ø±×¸²ºÎÅÍ ½ÃÀÛÇϱâ
1.3 ´ÜÀ§ Å×½ºÆ® ÇÁ·¹ÀÓ¿öÅ© ÀÌÇØÇϱâ
1.4 JUnitÀÇ ¼³°è ¸ñÇ¥
1.5 JUnit ¼Â¾÷Çϱâ
1.6. JUnitÀ¸·Î Å×½ºÆ® ½ÇÇàÇϱâ
1.7 Á¤¸®
2Àå JUnit ÇÙ½É µé¿©´Ùº¸±â
2.1. JUnitÀÇ ÇÙ½É
2.2 ÆĶó¹ÌÅÍÈ Å×½ºÆ® ½ÇÇàÇϱâ
2.3 JUnit Å×½ºÆ® ·¯³Ê
2.3.1 Å×½ºÆ® ·¯³Ê °³¿ä
2.3.2 JUnitCore ÆÛ»çµå
2.3.3 ÀڽŸ¸ÀÇ Å×½ºÆ® ·¯³Ê ¸¸µé±â
2.4 ½ºÀ§Æ®¸¦ ÀÌ¿ëÇÑ Å×½ºÆ® Á¶Á÷Çϱâ
2.4.1. Å×½ºÆ® Ŭ·¡½º ÁýÇÕ ¸¸µé±â
2.4.2 ½ºÀ§Æ®ÀÇ ½ºÀ§Æ® ¸¸µé±â
2.4.3 ½ºÀ§Æ® vs. IDE, Ant, Maven
2.5 Á¤¸®
3Àå JUnit ¸¶½ºÅÍÇϱâ
3.1 ÄÁÆ®·Ñ·¯ ÄÄÆ÷³ÍÆ® ¼Ò°³
3.1.1 ÀÎÅÍÆäÀ̽º ¼³°èÇϱâ
3.1.2 ±â¹Ý Ŭ·¡½º ±¸ÇöÇϱâ
3.2 ÀÚ! ÀÌÁ¦ Å×½ºÆ®´Ù!
3.2.1 DefaultController Å×½ºÆ®Çϱâ
3.2.2 Çڵ鷯 Ãß°¡Çϱâ
3.2.3 ¿äû ó¸®Çϱâ
3.2.4 testProcessRequest °³¼±Çϱâ
3.3 ¿¹¿Ü ó¸® Å×½ºÆ®Çϱâ
3.3.1 ¿¹¿Ü »óȲ ½Ã¹Ä·¹À̼ÇÇϱâ
3.3.2 ¿¹¿Ü Å×½ºÆ®Çϱâ
3.4 ŸÀӾƿô Å×½ºÆ®Çϱâ
3.5 Hamcrest ¸Åó ¼Ò°³
...3.6 Å×½ºÆ® ÇÁ·ÎÁ§Æ® ¼Â¾÷Çϱâ
3.7 Á¤¸®
4Àå ¼ÒÇÁÆ®¿þ¾î Å×½ºÆ® ¿øÄ¢
4.1 ´ÜÀ§ Å×½ºÆ®°¡ ÇÊ¿äÇÑ ÀÌÀ¯
4.1.1 ³ôÀº Å×½ºÆ® Ä¿¹ö¸®Áö ´Þ¼º
4.1.2 ÆÀ »ý»ê¼º Çâ»ó
4.1.3 ȸ±Í Å×½ºÆ® ¼öÇà ¹× µð¹ö±ë °¨¼Ò
4.1.4 È®½Å¿¡ Âù ¸®ÆÑÅ͸µ
4.1.5 ±¸Çö Ç°Áú Çâ»ó
4.1.6 ±â´ë ÇàÀ§ ¹®¼È
4.1.7 ÄÚµå Ä¿¹ö¸®Áö µî °¢Á¾ ÃøÁ¤ÀÌ °¡´É
4.2. Å×½ºÆ®ÀÇ Á¾·ù
4.2.1 ¼ÒÇÁÆ®¿þ¾î Å×½ºÆ®ÀÇ ³× °¡Áö Á¾·ù
4.2.2 ´ÜÀ§ Å×½ºÆ®ÀÇ Á¾·ù ¼¼ °¡Áö
4.3 ºí·¢¹Ú½º Å×½ºÆ®¿Í ÈÀÌÆ®¹Ú½º Å×½ºÆ®
4.4 Á¤¸®
2ºÎ ´Ùä·Î¿î Å×½ºÆ® Àü·«
5Àå Å×½ºÆ® Ä¿¹ö¸®Áö¿Í °³¹ß
5.1 Å×½ºÆ® Ä¿¹ö¸®Áö ÃøÁ¤Çϱâ
5.1.1 Å×½ºÆ® Ä¿¹ö¸®Áö¶õ?
5.1.2 Cobertura ¼Ò°³
5.1.3 Å×½ºÆ® Ä¿¹ö¸®Áö º¸°í¼ »ý¼ºÇϱâ
5.1.4 ºí·¢¹Ú½º Å×½ºÆ®¿Í ÈÀÌÆ®¹Ú½º Å×½ºÆ® È¥¿ëÇϱâ
5.2. Å×½ºÆ® °¡´ÉÇÑ ÄÚµå ÀÛ¼ºÇϱâ
5.2.1 °ø°³ API´Â °è¾àÀÌ´Ù
5.2.2 Á¾¼Ó¼ºÀ» ÁÙ¿©¶ó
5.2.3 »ý¼ºÀÚ´Â °£´ÜÇÏ°Ô ¸¸µé¾î¶ó
5.2.4 ÃÖ¼Ò Áö½ÄÀÇ ¿øÄ¢À» µû¸£¶ó
5.2.5 ¼û°ÜÁø Á¾¼Ó¼º°ú Àü¿ª »óŸ¦ ÇÇÇ϶ó
5.2.6 ½Ì±ÛÅæÀÇ Àå´ÜÁ¡
5.2.7 Á¦³Ê¸¯ ¸Þ¼µå¸¦ ¾Ö¿ëÇ϶ó
5.2.8 »ó¼Óº¸´Ù ÄÄÆ÷Áö¼ÇÀ» È°¿ëÇ϶ó
5.2.9 Á¶°Ç ºÐ±âº¸´Ù ´ÙÇü¼ºÀ» È°¿ëÇ϶ó
5.3. Å×½ºÆ® ÁÖµµ °³¹ß
5.3.1 °³¹ß ÁÖ±â Á¶Á¤Çϱâ
5.3.2 TDD ½ÇõÀ¸·Î °¡´Â µÎ ´Ü°è
5.4 °³¹ß Áֱ⿡¼ÀÇ Å×½ºÆ®
5.5 Á¤¸®
6Àå ½ºÅÓÀ» È°¿ëÇÑ Æ÷°ýÀûÀÎ Å×½ºÆ®
6.1. ½ºÅÓÀ̶õ?
6.2 HTTP Ä¿³Ø¼ÇÀ» ½ºÅÓÀ¸·Î ´ëüÇϱâ
6.2.1 ½ºÅÓ ¹æ½Ä ¼±ÅÃÇϱâ
6.2.2 ÀÓº£µðµå ¼¹ö·Î Jetty È°¿ëÇϱâ
6.3 À¥ ¼¹öÀÇ ¸®¼Ò½º¸¦ ½ºÅÓÀ¸·Î ´ëüÇϱâ
6.3.1 ù ¹ø° ½ºÅÓ Å×½ºÆ® ¼³Á¤Çϱâ
6.3.2 ½ÇÆÐ Á¶°Ç Å×½ºÆ®Çϱâ
6.3.3 ù ¹ø° ½ºÅÓ Å×½ºÆ® µÇµ¹¾Æº¸±â
6.4 Ä¿³Ø¼Ç ½ºÅÓ ÀÛ¼ºÇϱâ
6.4.1 Ä¿½ºÅÒ URL ÇÁ·ÎÅäÄÝ Çڵ鷯 Á¦ÀÛÇϱâ
6.4.2 JDK HttpURLConnection ½ºÅÓ ÀÛ¼ºÇϱâ
6.4.3 Å×½ºÆ® ½ÇÇàÇϱâ
6.5 Á¤¸®
7Àå ¸ñ °´Ã¼¸¦ È°¿ëÇÑ Å×½ºÆ®
7.1 ¸ñ °´Ã¼ ¼Ò°³Çϱâ
7.2 ¸ñ °´Ã¼¸¦ È°¿ëÇØ ´ÜÀ§ Å×½ºÆ®Çϱâ
7.3 ¸ñ °´Ã¼¿Í ÇÔ²² ¸®ÆÑÅ͸µÇϱâ
7.3.1 ¿¹Á¦ ¸®ÆÑÅ͸µÇϱâ
7.4 HTTP Ä¿³Ø¼ÇÀ» ¸ñÀ¸·Î ´ëüÇϱâ
7.4.1 ¸ñ °´Ã¼ Á¤ÀÇÇϱâ
7.4.2 ¿¹Á¦ ¸Þ¼µå Å×½ºÆ®Çϱâ
7.4.3 ù ¹ø° ½Ãµµ: ¼Õ½¬¿î ¸Þ¼µå ¸®ÆÑÅ͸µ ±â¹ý
7.4.4 µÎ ¹ø° ½Ãµµ: Ŭ·¡½º ÆÑÅ丮¸¦ È°¿ëÇÑ ¸®ÆÑÅ͸µ
7.5 ¸ñ °´Ã¼¸¦ Æ®·ÎÀÌ ¸ñ¸¶·Î »ç¿ëÇϱâ
7.6 ¸ñ ÇÁ·¹ÀÓ¿öÅ© ¸¸³ªº¸±â
7.6.1 EasyMock È°¿ëÇϱâ
7.6.2 JMock È°¿ëÇϱâ
7.7 Á¤¸®
8Àå In-container Å×½ºÆ®
8.1 Ç¥ÁØ ´ÜÀ§ Å×½ºÆ®ÀÇ ÇÑ°è
8.2 ¸ñ °´Ã¼¸¦ ÀÌ¿ëÇÑ Çعý
8.3 In-container Å×½ºÆ®
8.3.1 Àü·« ±¸ÇöÇϱâ
8.3.2 In-container Å×½ºÆ® ÇÁ·¹ÀÓ¿öÅ©
8.4 ½ºÅÓ, ¸ñ °´Ã¼, In-container Å×½ºÆ® ºñ±³Çϱâ
8.4.1 ½ºÅÓÀÇ Àå´ÜÁ¡
8.4.2 ¸ñ °´Ã¼ÀÇ Àå´ÜÁ¡
8.4.3 In-container Å×½ºÆ®ÀÇ Àå´ÜÁ¡
8.4.4 In-container Å×½ºÆ® vs. Out-of-container Å×½ºÆ®
8.5 Á¤¸®
3ºÎ JUnit°ú ºôµå ÇÁ·Î¼¼½º
9Àå Ant·Î JUnit Å×½ºÆ® ½ÇÇàÇϱâ
9.1 °³¹ßÀÚÀÇ ÇÏ·ç
9.2 Ant·Î Å×½ºÆ® ½ÇÇàÇϱâ
9.3 Ant ¼Ò°³ ¹× ¼³Ä¡Çϱâ
9.4 AntÀÇ Å¸±ê, ÇÁ·ÎÁ§Æ®, ¼Ó¼º, ŽºÅ© ¾Ë¾Æº¸±â
9.4.1 javac ŽºÅ©
9.4.2 junit ŽºÅ©
9.5 Ant ½ÇÇàÇϱâ
9.6 Ivy¸¦ ÀÌ¿ëÇÑ Á¾¼Ó¼º °ü¸®
9.7 HTML º¸°í¼ »ý¼ºÇϱâ
9.8 Å×½ºÆ® ÀÏ°ý ¼öÇàÇϱâ
9.9 Á¤¸®
10Àå Maven2·Î JUnit Å×½ºÆ® ½ÇÇàÇϱâ
10.1 MavenÀÇ Æ¯¼º
10.1.1 ±Ô¾àÀÌ ¼³Á¤¿¡ ¿ì¼±ÇÑ´Ù
10.1.2 °·ÂÇÑ Á¾¼Ó¼º °ü¸®
10.1.3 Maven ºôµå »ý¸íÁÖ±â
10.1.4 Ç÷¯±×ÀÎ ±â¹Ý ¾ÆÅ°ÅØó
10.1.5 Maven ÇÁ·ÎÁ§Æ® °´Ã¼ ¸ðµ¨(POM)
10.2 Maven ÇÁ·ÎÁ§Æ® ±¸¼ºÇϱâ
10.3 Maven Ç÷¯±×ÀÎ ¼Ò°³Çϱâ
10.3.1 Maven Compiler Ç÷¯±×ÀÎ
10.3.2 Maven Surefire Ç÷¯±×ÀÎ
10.3.3 MavenÀ¸·Î HTML JUnit º¸°í¼ »ý¼ºÇϱâ
10.4 MavenÀÇ ºÎÁ¤Àû Ãø¸é
10.5 Á¤¸®
11Àå Áö¼ÓÀû ÅëÇÕ Åø
11.1 Áö¼ÓÀû ÅëÇÕÀÇ ¸À
11.1.1 Áö¼ÓÀû ÅëÇÕ Å×½ºÆ®
11.2 ±¸¿øÅõ¼ö CruiseControl
11.2.1 CruiseControl ½ÃÀÛÇϱâ
11.2.2 °ßº» ÇÁ·ÎÁ§Æ® ¼³Á¤Çϱâ
11.2.3 CruiseControl ¼³Á¤ ÆÄÀÏ »ìÆ캸±â
11.3 ¶Ç ÇϳªÀÇ ¸ÚÁø ±¸¿øÀÚ Hudson
11.3.1 Hudson ¼Ò°³Çϱâ
11.3.2 Hudson ¼³Ä¡Çϱâ
11.3.3 Hudson ¼³Á¤Çϱâ
11.3.4 Hudson ¾È¿¡ ÇÁ·ÎÁ§Æ® ¼³Á¤Çϱâ
11.4 Áö¼ÓÀû ÅëÇÕÀ¸·Î ¾ò´Â ÀÌÁ¡
11.5 Á¤¸®
4ºÎ JUnit È®Àå
12Àå Ç¥Çö °èÃþ Å×½ºÆ®Çϱâ
12.1 Å×½ºÆ® ÇÁ·¹ÀÓ¿öÅ© ¼±ÅÃÇϱâ
12.2 HtmlUnit ¼Ò°³Çϱâ
12.2.1 ½Ç»ýÈ°¿¡¼ ãÀ» ¼ö ÀÖ´Â ¿¹
12.3 HtmlUnit Å×½ºÆ® ÀÛ¼ºÇϱâ
12.3.1 HTML ´Ü¾ð
12.3.2 ƯÁ¤ À¥ ºê¶ó¿ìÀú¸¦ À§ÇÑ Å×½ºÆ®
12.3.3 ´Ù¼öÀÇ À¥ ºê¶ó¿ìÀú Å×½ºÆ®
12.3.4 µ¶¸³Çü Å×½ºÆ® ÀÛ¼ºÇϱâ
12.3.5 °´Ã¼ ¸ðµ¨ ³»ºñ°ÔÀ̼Ç
12.3.6 ¿ø¼Ò ŸÀÔÀ¸·Î ¿ø¼Ò Á¢±ÙÇϱâ
12.3.7 À̸§ vs. À妽º·Î ¿ø¼Ò Á¢±ÙÇϱâ
12.3.8 Âü°í¸¦ ÅëÇØ ¿ø¼Ò Á¢±ÙÇϱâ
12.3.9 XPath »ç¿ëÇϱâ
12.3.10 Å×½ºÆ® ½ÇÆÐ¿Í ¿¹¿Ü
12.3.11 ¾ÖÇø®ÄÉÀ̼ǰú ÀÎÅÍ³Ý ³»ºñ°ÔÀ̼Ç
12.3.12 HtmlUnitÀ¸·Î Æû Å×½ºÆ®Çϱâ
12.3.13 ÇÁ·¹ÀÓ Å×½ºÆ®Çϱâ
12.3.14 ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇØ Å×½ºÆ®Çϱâ
12.3.15 CSS Å×½ºÆ®Çϱâ
12.3.16 SSL ¿¡·¯
12.4 HtmlUnit°ú Cactus ÇÔ²² »ç¿ëÇϱâ
12.4.1 Cactus·Î Å×½ºÆ® ÀÛ¼ºÇϱâ
12.5 Selenium ¼Ò°³
12.6 Selenium Å×½ºÆ® »ý¼ºÇϱâ
12.6.1 ½Ç»ýÈ°¿¡¼ ãÀ» ¼ö ÀÖ´Â ¿¹
12.7 Selenium Å×½ºÆ® ½ÇÇàÇϱâ
12.7.1 Selenium ¼¹ö °ü¸®Çϱâ
12.7.2 JUnit 4·Î Selenium Å×½ºÆ® ½ÇÇàÇϱâ
12.8 Selenium Å×½ºÆ® ÀÛ¼ºÇϱâ
12.8.1 ƯÁ¤ À¥ ºê¶ó¿ìÀú¸¦ °Ü³ÉÇÑ Å×½ºÆ® ¼öÇàÇϱâ
12.8.2 ºê¶ó¿ìÀúº° Å×½ºÆ® ÇÑ ¹ø¿¡ ¼öÇàÇϱâ
12.8.3 ¾ÖÇø®ÄÉÀ̼ǰú ÀÎÅÍ³Ý ³»ºñ°ÔÀ̼Ç
12.8.4 ÂüÁ¶¸¦ ÀÌ¿ëÇØ ¿ø¼Ò Á¢±ÙÇϱâ
12.8.5 ¿¹¿Ü¸¦ ¹ß»ý½ÃÄÑ Å×½ºÆ® ½ÇÆнÃÅ°±â
12.8.6 SeleniumÀ¸·Î Æû Å×½ºÆ®Çϱâ
12.8.7 ÀÚ¹Ù½ºÅ©¸³Æ® °æ°í¸¦ ÀÌ¿ëÇØ Å×½ºÆ®Çϱâ
12.8.8 JUnit 3 Å×½ºÆ® ½ÇÆÐ ½Ã ȸé ĸóÇϱâ
12.8.9 JUnit 4 Å×½ºÆ® ½ÇÆÐ ½Ã ȸé ĸóÇϱâ
12.9 HtmlUnit vs. Selenium
12.10 Á¤¸®
13Àå Ajax Å×½ºÆ®Çϱâ
13.1 Ajax ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®´Â ¿Ö ¾î·Á¿î°¡?
13.1.1 À¥ÀÇ ÀüÅëÀû »óÈ£ÀÛ¿ë ¹æ½Ä
13.1.2 AjaxÀÇ »óÈ£ÀÛ¿ë
13.1.3 ¿ë°¨ÇÑ ½Å¼¼°è
13.1.4 Å×½ºÆ®¸¦ À§ÇØ ±Øº¹ÇØ¾ß ÇÒ ³Á¦µé
13.2 Ajax Å×½ºÆ® ÆÐÅÏ
13.2.1 ±â´É Å×½ºÆ®
13.2.2 Ŭ¶óÀ̾ðÆ®´Ü ½ºÅ©¸³Æ® ´ÜÀ§ Å×½ºÆ®Çϱâ
13.2.3 ¼ºñ½º Å×½ºÆ®Çϱâ
13.3 ±â´É Å×½ºÆ®
13.3.1 SeleniumÀ» ÀÌ¿ëÇØ ±â´É Å×½ºÆ®Çϱâ
13.3.2 HtmlUnitÀ» ÀÌ¿ëÇØ ±â´É Å×½ºÆ®Çϱâ
13.4 ÀÚ¹Ù½ºÅ©¸³Æ® Å×½ºÆ®Çϱâ
13.4.1 RhinoUnitÀ¸·Î ÀÚ¹Ù½ºÅ©¸³Æ® Å×½ºÆ®Çϱâ
13.4.2 JsUnitÀ¸·Î ÀÚ¹Ù½ºÅ©¸³Æ® Å×½ºÆ®Çϱâ
13.4.3 JsUnit Å×½ºÆ® ÀÛ¼ºÇϱâ
13.4.4 JsUnit Å×½ºÆ® ½ºÀ§Æ® ÀÛ¼ºÇϱâ
13.4.5 ¼öµ¿À¸·Î JsUnit Å×½ºÆ® ¼öÇàÇϱâ
13.4.6 Ant·Î JsUnit Å×½ºÆ® ½ÇÇàÇϱâ
13.5 RhinoUnit vs. JsUnit
13.6 JSLint·Î ¸ð¹ü »ç·Ê ÀÌÇà ¿©ºÎ °Ë»çÇϱâ
13.7 HttpClient·Î ¼ºñ½º Å×½ºÆ®Çϱâ
13.7.1 XML ¼ºñ½º È£ÃâÇϱâ
13.7.2 XML ÀÀ´ä °ËÁõÇϱâ
13.7.3 JSON ÀÀ´ä °ËÁõÇϱâ
13.8 Google Web Toolkit ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®Çϱâ
13.8.1 GWT ¾ÖÇø®ÄÉÀ̼ǿë Å×½ºÆ® ÇÁ·¹ÀÓ¿öÅ© ¼±ÅÃÇϱâ
13.8.2 ¼öÀÛ¾÷À¸·Î GWTTestCase ÀÛ¼ºÇϱâ
13.8.3 junitCreator·Î GWTTestCase »ý¼ºÇϱâ
13.8.4 Å×½ºÆ® ÄÉÀ̽º ½ÇÇàÇϱâ
13.8.5 setUp°ú tearDown
13.8.6 Å×½ºÆ® ½ºÀ§Æ® ¸¸µé±â
13.8.7 Å×½ºÆ® ½ºÀ§Æ® ½ÇÇàÇϱâ
13.9 Á¤¸®
14Àå Cactus¸¦ ÀÌ¿ëÇÑ ¼¹ö´Ü ÀÚ¹Ù Å×½ºÆ®Çϱâ
14.1 Cactus¶õ ¹«¾ùÀΰ¡?
14.2 Cactus¸¦ ÀÌ¿ëÇØ Å×½ºÆ®Çϱâ
14.2.1 Cactus·Î Å×½ºÆ®ÇÒ ¼ö ÀÖ´Â ÀÚ¹Ù ÄÄÆ÷³ÍÆ®
14.2.2 ÀÏ¹Ý ¿øÄ¢
14.2.3 Cactus µ¿ÀÛ ¸ÞÄ¿´ÏÁò
14.3 ¼ºí¸´°ú ÇÊÅÍ Å×½ºÆ®Çϱâ
14.3.1 °ü¸® ¾ÖÇø®ÄÉÀÌ¼Ç ¼Ò°³Çϱâ
14.3.2 Cactus¸¦ ÀÌ¿ëÇÑ ¼ºí¸´ Å×½ºÆ® ÀÛ¼ºÇϱâ
14.4 JSP Å×½ºÆ®Çϱâ
14.4.1 °ü¸® ¾ÖÇø®ÄÉÀÌ¼Ç ÀçÁ¶¸íÇغ¸±â
14.4.2 JSP ´ÜÀ§ Å×½ºÆ®¶õ?
14.4.3 Cactus¸¦ ÀÌ¿ëÇØ °Ý¸®µÈ ȯ°æ¿¡¼ JSP ´ÜÀ§ Å×½ºÆ®Çϱâ
14.4.4 SQL °á°ú µ¥ÀÌÅÍ·Î JSP ½ÇÇàÇϱâ
14.5 EJB Å×½ºÆ®Çϱâ
14.6 Cargo¶õ ¹«¾ùÀΰ¡?
14.7 Ant·Î Cactus Å×½ºÆ® ½ÇÇàÇϱâ
14.7.1 ¾ÆÄ«À̺ê Áغñ¸¦ À§ÇÑ Cactus ŽºÅ©
14.8 Maven2x¸¦ ÀÌ¿ëÇØ Cactus Å×½ºÆ® ½ÇÇàÇϱâ
14.8.1 Maven2ÀÇ cactifywar MOJO
14.8.2 Maven2ÀÇ cactifyear MOJO
14.9 ºê¶ó¿ìÀú·ÎºÎÅÍ Cactus Å×½ºÆ® ½ÇÇàÇϱâ
14.10 Á¤¸®
15Àå JSP ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®Çϱâ
15.1 JSF ¼Ò°³Çϱâ
15.2 ¾ÖÇø®ÄÉÀÌ¼Ç ¿¹Á¦ ¼Ò°³Çϱâ
15.3 JSF ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ® ½ÃÀÇ ÀüÇüÀûÀÎ ³°üµé
15.4 JSF ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ® Àü·«
15.4.1 ºí·¢¹Ú½º ¹æ½Ä
15.4.2 ±¸¿ø Åõ¼ö ¸ñ °´Ã¼ ÅõÀÔ
15.5 JSFUnitÀ¸·Î ¿¹Á¦ ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®Çϱâ
15.5.1 ºê¶ó¿ìÀú·Î JSFUnit Å×½ºÆ® ½ÇÇàÇϱâ
15.5.2 JSFUnitÀ» ÀÌ¿ëÇØ Ajax Å×½ºÆ®Çϱâ
15.6 JSFUnit°ú HtmlUnit ÇÔ²² »ç¿ëÇϱâ
15.7 JSF ¾ÖÇø®ÄÉÀÌ¼Ç ¼º´É Å×½ºÆ®Çϱâ
15.8 Á¤¸®
16Àå OSGi ÄÄÆ÷³ÍÆ® Å×½ºÆ®Çϱâ
16.1 OSGi ¼Ò°³Çϱâ
16.2 ù ¹ø° OSGi ¼ºñ½º
16.2.1 ¿¹Á¦ ¾ÖÇø®ÄÉÀ̼Ç
16.3 OSGi ¼ºñ½º Å×½ºÆ®Çϱâ
16.3.1 ¸ñ °´Ã¼
16.4 JUnit4OSGi ¼Ò°³Çϱâ
16.5 Á¤¸®
17Àå µ¥ÀÌÅͺ£À̽º ¾×¼¼½º Å×½ºÆ®Çϱâ
17.1 µ¥ÀÌÅͺ£À̽º ´ÜÀ§ Å×½ºÆ® ÀÓÇÇ´ø½º ¹Ì½º¸ÅÄ¡
17.1.1 ´ÜÀ§ Å×½ºÆ®´Â °Ý¸®µÈ ȯ°æ¿¡¼ ¼öÇàÇØ¾ß ÇÑ´Ù
17.1.2 ´ÜÀ§ Å×½ºÆ®´Â ½±°Ô ÀÛ¼ºÇÏ°í ½±°Ô ½ÇÇàÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù
17.1.3 ´ÜÀ§ Å×½ºÆ®´Â ºü¸£°Ô ¼öÇàµÇ¾î¾ß ÇÑ´Ù
17.2 DbUnit ¼Ò°³Çϱâ
17.2.1 ¿¹Á¦ ¾ÖÇø®ÄÉÀ̼Ç
17.2.2 DbUnit ¼³Á¤ ¹× ¿¹Á¦ ¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇàÇϱâ
17.3 µ¥ÀÌÅͼÂÀ» ÀÌ¿ëÇØ µ¥ÀÌÅͺ£À̽º ä¿ì±â
17.3.1 DatabaseOperation ÇغÎ
17.4 µ¥ÀÌÅͼÂÀ¸·Î µ¥ÀÌÅͺ£À̽º »óÅ ȮÀÎÇϱâ
17.4.1 µ¥ÀÌÅͼ ÇÊÅ͸µÇϱâ
17.4.2 ¿ ¹«½ÃÇϱâ
17.5 ReplacementDataSet¸¦ ÀÌ¿ëÇØ µ¥ÀÌÅÍ º¯È¯Çϱâ
17.5.1 ReplacementDataSetÀ» ÀÌ¿ëÇØ ´Ù¸¥ ID ¹®Á¦¸¦ ó¸®Çϱâ
17.5.2 NULL °ª ó¸®Çϱâ
17.6 µ¥ÀÌÅͺ£À̽º ¾ÈÀÇ µ¥ÀÌÅͷκÎÅÍ µ¥ÀÌÅͼ »ý¼ºÇϱâ
17.7 °í±Þ ±â¹ý
17.7.1 DbUnit°ú ÅÛÇø´ µðÀÚÀÎ ÆÐÅÏ
17.7.2 Ä¿½ºÅÒ ¾Ö³ëÅ×À̼ÇÀ¸·Î ÀçÈ°¿ë¼º ³ôÀ̱â
17.7.3 µ¥ÀÌÅͼ¿¡ Ç¥Çö ¾ð¾î »ç¿ëÇϱâ
17.8 µ¥ÀÌÅͺ£À̽º ¾×¼¼½º Å×½ºÆ® ¸ð¹ü »ç·Ê
17.8.1 °³¹ßÀÚ¸¶´Ù ÇϳªÀÇ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇ϶ó
17.8.2 ´ë»ó µ¥ÀÌÅͺ£À̽º°¡ Å×½ºÆ®µÇ´ÂÁö È®ÀÎÇ϶ó
17.8.3 µ¥ÀÌÅ͸¦ Àаí ÀúÀåÇÏ´Â º¸Á¶ÀûÀÎ Å×½ºÆ®¸¦ ¸¸µé¶ó
17.8.4 Àбâ Å×½ºÆ® ÄÉÀ̽º¿¡¼ ¸ðµç ±âº» ½Ã³ª¸®¿À¸¦ °ËÁõÇ϶ó
17.8.5 µ¥ÀÌÅͼ ¿ëµµ¸¦ °èȹÇ϶ó
17.8.6 Å×½ºÆ® Á¤¸®
17.9 Á¤¸®
18Àå JPA ±â¹Ý ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®Çϱâ
18.1 °èÃþÇü ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®Çϱâ
18.1.1 ¿¹Á¦ ¾ÖÇø®ÄÉÀ̼Ç
18.1.2 ´Ù¾çÇÑ °èÃþ, ´Ù¾çÇÑ Å×½ºÆ® Àü·«
18.2 JPA Å×½ºÆ®ÀÇ Æ¯Â¡
18.3 ÀÎÇÁ¶ó °®Ãß±â
18.4 JPA ¿£Æ¼Æ¼ ¸ÅÇÎ Å×½ºÆ®Çϱâ
18.4.1 Å×½ºÆ® ÄÉÀ̽º¿¡ JPA ID »ý¼º±â ÅëÇÕÇϱâ
18.5 JPA ±â¹Ý DAO Å×½ºÆ®Çϱâ
18.6 ¿Ü·¡Å° À̸§ Å×½ºÆ®Çϱâ
18.7 Á¤¸®
19Àå JUnit¿¡ ºÎ½ºÅ͸¦...
19.1 Åø ¼Ò°³
19.1.1 Åø »ìÆ캸±â
19.1.2 ¿¹Á¦ ½ÇÇàÇϱâ
19.2 Åõ¸í ¸ñ È°¿ë
19.2.1 UnitilsÀÇ EasyMock Áö¿ø
19.2.2 FEST-Mocks
19.2.3 Mycila
19.3 DbUnit ÅëÇÕ
19.4 assert´Â ÀÏÀ» ½±°Ô ¸¸µç´Ù
19.4.1 JUnit-addonsÀÇ ´Ü¾ð ÆÐÅ°Áö
19.4.2 UnitilsÀÇ ReflectionAssert
19.4.3 FEST Fluent Assertions Module
19.4.4 Mycila È®Àå assert ¹®
19.5 ¸®Ç÷º¼ÇÀ» ÀÌ¿ëÇØ Ä¸½¶È ȸÇÇÇϱâ
19.5.1 Á÷Á¢ ¸¸µé¾îº¸±â
19.5.2 JUnit-addons
19.5.3 FEST-Reflect
19.6 Á¤¸®
ºÎ·ÏA JUnit 3¿Í 4ÀÇ Â÷ÀÌÁ¡
A.1 Àü¹ÝÀûÀÎ º¯È
A.1.1 JDK ¿ä±¸»çÇ×
A.1.1 ÇÏÀ§/»óÀ§ ȣȯ¼º
A.2 APIÀÇ º¯È
A.2.1 ÆÐÅ°Áö ±¸Á¶
A.2.2 »ý¼ºÀÚ
A.2.3 Å×½ºÆ® ÄÉÀ̽º È®ÀåÇϱâ
A.2.4 Å×½ºÆ® ¸Þ¼µå À̸§
A.3 ¾Ö³ëÅ×À̼ǰú Á¤Àû ÀÓÆ÷Æ®ÀÇ µµÀÔ
A.3.1 @Before¿Í @After ¾Ö³ëÅ×À̼Ç
A.3.2 @BeforeClass¿Í @AfterClass ¾Ö³ëÅ×À̼Ç
A.3.3 ÀϺΠÅ×½ºÆ®¸¦ Á¦¿ÜÇÏ°í ½ÇÇà½ÃÅ°±â
A.3.4 Á¤Àû ÀÓÆ÷Æ®
A.3.5 ¿¹¿Ü Å×½ºÆ®Çϱâ
A.3.6 ŸÀӾƿô Å×½ºÆ®Çϱâ
A.4 Ãß°¡µÈ JUnit ·¯³Ê
A.4.1 Å×½ºÆ® ·¯³Ê
A.4.2 Å×½ºÆ® ½ºÀ§Æ®
A.4.3 ÆĶó¹ÌÅÍÈ Å×½ºÆ®
A.5 »õ·Î¿î assert ¹®°ú °¡Á¤
A.5.1 Hamcrest assert ¹®
A.5.2 °¡Á¤
A.5.3 »õ·Î Ãß°¡µÈ assert ¹®
A.5.4 assert ¿¡·¯
ºÎ·ÏB Ä¿½ºÅÒ ·¯³Ê¿Í ¸Åó·Î JUnit API È®ÀåÇϱâ
B.1 ÀÎÅͼÁÅÍ ÆÐÅÏ ¼Ò°³Çϱâ
B.2 Ä¿½ºÅÒ ·¯³Ê Á¦ÀÛÇϱâ
B.3 Ä¿½ºÅÒ ¸Åó ±¸ÇöÇϱâ
ºÎ·ÏC Ã¥ÀÇ ¼Ò½º ÄÚµå
C.1 ¼Ò½º ÄÚµå ¾ò±â
C.2 ¼Ò½º ÄÚµå °³¿ä
C.3 ¿ÜºÎ ¶óÀ̺귯¸®
C.4 JAR ¹öÀü
C.5 µð·ºÅ͸® ±¸Á¶ ±Ô¾à
ºÎ·ÏD JUnit IDE ÅëÇÕ
D.1 ÀÌŬ¸³½º¿¡ ÅëÇÕµÈ JUnit
D.1.1 ÀÌŬ¸³½º ¼³Ä¡Çϱâ
D.1.2 ¼Ò½º·ÎºÎÅÍ ÀÌŬ¸³½º ÇÁ·ÎÁ§Æ® ¼³Á¤Çϱâ
D.1.3 ÀÌŬ¸³½º¿¡¼ JUnit Å×½ºÆ® ½ÇÇàÇϱâ
D.1.4 ÀÌŬ¸³½º¿¡¼ Ant ½ºÅ©¸³Æ® ½ÇÇàÇϱâ
D.2 JUnitMAX ÀÌŬ¸³½º Ç÷¯±×ÀÎ ¼Ò°³
D.2.1 °³¹ß Áֱ⿡ ÅëÇÕµÊ
D.2.2 ½ÇÇà ¼ø¼
D.2.3 ¸¶Áö¸· ¾ÈÁ¤ ¹öÀüÀ¸·Î µÇµ¹¸®±â
D.3 NetBeans¿¡ ÅëÇÕµÈ JUnit
D.3.1 NetBeans ¼³Ä¡Çϱâ
D.3.2 ¼Ò½º·ÎºÎÅÍ NetBeans ÇÁ·ÎÁ§Æ® ¼³Á¤Çϱâ
D.3.3 NetBeans¿¡¼ JUnit Å×½ºÆ® ½ÇÇàÇϱâ
D.3.4 NetBeans¿¡¼ Ant ½ºÅ©¸³Æ® ½ÇÇàÇϱâ
ºÎ·ÏE ¼ÒÇÁÆ®¿þ¾î ¼³Ä¡Çϱâ
E.1 HtmlUnit ¼³Ä¡Çϱâ
E.1.1 Ç¥ÁØ ¼³Á¤
E.1.2 ÀÌŬ¸³½º ¼³Á¤
E.2 HtmlUnitÀ» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Cactus ¼³Á¤Çϱâ
E.3 Selenium ¼³Ä¡Çϱâ
E.4 RhinoUnit ¼³Ä¡Çϱâ
E.5 JsUnit ¼³Ä¡Çϱâ
ã¾Æº¸±â
-
-
|
ÇÇÅÍ Å¸Ä¡ºê [Àú]
|
|
-
Apache Software FoundationÀÇ Jakarta PMC ¸â¹ö·Î È°µ¿ÇÑ ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î´Ù. ¼ö³â µ¿¾È Jakarta CactusÀÇ ÁÖ¿ä °³¹ßÀÚ ¹× Apache Maven °³¹ßÆÀÀÇ ÀÏ¿øÀ¸·Î È°µ¿Çß´Ù. ¼ÒÇÇ¾Æ ´ëÇÐÀÇ ¼öÇаú¸¦ Á¹¾÷ ÈÄ µ¶ÀÏ°ú ³×´ú¶õµå¿¡¼ Unic³ª ÈÞ·¿ ÆÑÄ¿µå µî¿¡¼ ¼ö³â°£ ÀÏÇÏ¿´´Ù. Áö±ÝÀº ¼ÒÇǾƷΠµ¹¾Æ¿Í, ¾÷¹« °³¼±À» À§ÇÑ ±â¼úÀ» Áö¿øÇÏ°í ÄÁ¼³ÆÃÇÏ´Â Phamola»ç¸¦ ¼³¸³ÇÏ¿© ÀÏÇÏ°í ÀÖ´Ù.
-
|
À̺¹¿¬(°³¾Õ¸Ê½Ã) [Àú]
|
|
-
°í·Á´ëÇб³ ÄÄÇ»ÅÍÇаú¸¦ Á¹¾÷ÇÏ°í »ï¼º¼ÒÇÁÆ®¿þ¾î¸â¹ö½ÊÀ» °ÅÃÄ, »ï¼ºÀüÀÚ ¼ÒÇÁÆ®¿þ¾î¼¾ÅÍ¿Í ¹Ìµð¾î¼Ö·ç¼Ç¼¾ÅÍ¿¡¼ ÀÚ¹Ù °¡»ó ¸Ó½Å, ¹Ù´Ù Ç÷§Æû, ê¿Â ¸Þ½ÅÀú ¼ºñ½º µîÀ» °³¹ßÇß´Ù. ÁÖ ¾÷¹« ¿Ü¿¡ ºÐ»ê ºôµå, Áö¼ÓÀû ÅëÇÕ, ¾Û ¼ö¸íÁֱ⠰ü¸® µµ±¸, ¾ÖÀÚÀÏ µµÀÔ µî µ¿·á °³¹ßÀڵ鿡°Ô ½ÇÁúÀûÀÎ µµ¿òÀ» ÁÖ´Â ÀÏ¿¡ Àû±ØÀûÀ̾ú´Ù. ±× ÈÄ Ã¢¾÷Àü¼±¿¡ ¶Ù¾îµé¾î ¼Ò¼È ¼ºñ½º, ±ÝÀ¶ °Å·¡ ÇÁ·¹ÀÓ¿öÅ© µîÀ» °³¹ßÇÏ´Ù°¡, ¹«½¼ ¹Ù¶÷ÀÌ ºÒ¾î¼ÀÎÁö Ã¥À» ¸¸µé°Ú´Ù¸ç ±âȹ¡¤ÆíÁýÀÚ(ÀÚĪ Wisdom Compiler)·Î º¯½ÅÇß´Ù.
ÇѺû¹Ìµð¾î¿¡¼ ¡º¹Ø¹Ù´ÚºÎÅÍ ½ÃÀÛÇÏ´Â µö·¯´×¡»°ú ¡ºEffective Unit Testing¡»À», ÀλçÀÌÆ®¿¡¼ ¡ºJUnit ÀÎ ¾×¼Ç¡»À» ¹ø¿ªÇß´Ù.
-
-
Àüü 0°³ÀÇ ±¸¸ÅÈıⰡ ÀÖ½À´Ï´Ù.
|
ÀÎÅÍÆÄÅ©µµ¼´Â °í°´´ÔÀÇ ´Ü¼ø º¯½É¿¡ ÀÇÇÑ ±³È¯°ú ¹ÝÇ°¿¡ µå´Â ºñ¿ëÀº °í°´´ÔÀÌ ÁöºÒÄÉ µË´Ï´Ù.
´Ü, »óÇ°À̳ª ¼ºñ½º ÀÚüÀÇ ÇÏÀÚ·Î ÀÎÇÑ ±³È¯ ¹× ¹ÝÇ°Àº ¹«·á·Î ¹ÝÇ° µË´Ï´Ù. |
|
±³È¯ ¹× ¹ÝÇ°ÀÌ °¡´ÉÇÑ °æ¿ì |
»óÇ°À» °ø±Þ ¹ÞÀº ³¯·ÎºÎÅÍ 7ÀÏÀ̳» °¡´É
°ø±Þ¹ÞÀ¸½Å »óÇ°ÀÇ ³»¿ëÀÌ Ç¥½Ã, ±¤°í ³»¿ë°ú ´Ù¸£°Å³ª ´Ù¸£°Ô ÀÌÇàµÈ °æ¿ì¿¡´Â °ø±Þ¹ÞÀº ³¯·ÎºÎÅÍ 3°³¿ù À̳», ȤÀº ±×»ç½ÇÀ» ¾Ë°Ô µÈ ³¯ ¶Ç´Â ¾Ë ¼ö ÀÖ¾ú´ø ³¯·ÎºÎÅÍ 30ÀÏ À̳»
»óÇ°¿¡ ¾Æ¹«·± ÇÏÀÚ°¡ ¾ø´Â °æ¿ì ¼ÒºñÀÚÀÇ °í°´º¯½É¿¡ ÀÇÇÑ ±³È¯Àº »óÇ°ÀÇ Æ÷Àå»óÅ µîÀÌ ÀüÇô ¼Õ»óµÇÁö ¾ÊÀº °æ¿ì¿¡ ÇÑÇÏ¿© °¡´É |
|
±³È¯ ¹× ¹ÝÇ°ÀÌ ºÒ°¡´ÉÇÑ °æ¿ì |
±¸¸ÅÈ®Á¤ ÀÌÈÄ(¿ÀǸ¶ÄÏ»óÇ°¿¡ ÇÑÇÔ)
°í°´´ÔÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¸ê½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì
(´Ü, »óÇ°ÀÇ ³»¿ëÀ» È®ÀÎÇϱâ À§ÇÏ¿© Æ÷Àå µîÀ» ÈѼÕÇÑ °æ¿ì´Â Á¦¿Ü)
½Ã°£ÀÌ Áö³²¿¡ µû¶ó ÀçÆǸŰ¡ °ï¶õÇÒ Á¤µµ·Î ¹°Ç°ÀÇ °¡Ä¡°¡ ¶³¾îÁø °æ¿ì
Æ÷Àå °³ºÀµÇ¾î »óÇ° °¡Ä¡°¡ ÈÑ¼ÕµÈ °æ¿ì |
|
´Ù¹è¼ÛÁöÀÇ °æ¿ì ¹ÝÇ° ȯºÒ |
´Ù¹è¼ÛÁöÀÇ °æ¿ì ´Ù¸¥ Áö¿ªÀÇ ¹ÝÇ°À» µ¿½Ã¿¡ ÁøÇàÇÒ ¼ö ¾ø½À´Ï´Ù.
1°³ Áö¿ªÀÇ ¹ÝÇ°ÀÌ ¿Ï·áµÈ ÈÄ ´Ù¸¥ Áö¿ª ¹ÝÇ°À» ÁøÇàÇÒ ¼ö ÀÖÀ¸¹Ç·Î, ÀÌÁ¡ ¾çÇØÇØ Áֽñ⠹ٶø´Ï´Ù. |
|
Áß°í»óÇ°ÀÇ ±³È¯ |
Áß°í»óÇ°Àº Á¦ÇÑµÈ Àç°í ³»¿¡¼ ÆǸŰ¡ ÀÌ·ç¾îÁö¹Ç·Î, ±³È¯Àº ºÒ°¡´ÉÇÕ´Ï´Ù. |
|
¿ÀǸ¶ÄÏ »óÇ°ÀÇ È¯ºÒ |
¿ÀǸ¶ÄÏ»óÇ°¿¡ ´ëÇÑ Ã¥ÀÓÀº ¿øÄ¢ÀûÀ¸·Î ¾÷ü¿¡°Ô ÀÖÀ¸¹Ç·Î, ±³È¯/¹ÝÇ° Á¢¼ö½Ã ¹Ýµå½Ã ÆǸÅÀÚ¿Í ÇùÀÇ ÈÄ ¹ÝÇ° Á¢¼ö¸¦ ÇϼžßÇϸç, ¹ÝÇ°Á¢¼ö ¾øÀÌ ¹Ý¼ÛÇϰųª, ¿ìÆíÀ¸·Î º¸³¾ °æ¿ì »óÇ° È®ÀÎÀÌ ¾î·Á¿ö ȯºÒÀÌ ºÒ°¡´ÉÇÒ ¼ö ÀÖÀ¸´Ï À¯ÀÇÇϽñ⠹ٶø´Ï´Ù. |
|
|
|
¹è¼Û¿¹Á¤ÀÏ ¾È³» |
ÀÎÅÍÆÄÅ© µµ¼´Â ¸ðµç »óÇ°¿¡ ´ëÇØ ¹è¼Û¿Ï·á¿¹Á¤ÀÏÀ» À¥»çÀÌÆ®¿¡ Ç¥½ÃÇÏ°í ÀÖ½À´Ï´Ù.
|
<ÀÎÅÍÆÄÅ© Á÷¹è¼Û »óÇ°> |
»óÇ°Àº ¿ù~Åä¿äÀÏ ¿ÀÀü 10½Ã ÀÌÀü ÁÖ¹®ºÐ¿¡ ´ëÇÏ¿© ´çÀÏ Ãâ°í/´çÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÏ´Â »óÇ°ÀÔ´Ï´Ù. |
»óÇ°Àº ¼¿ïÁö¿ª/ÆòÀÏ ÁÖ¹®ºÐÀº ´çÀÏ Ãâ°í/ÀÍÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇϸç,
¼¿ï¿ÜÁö¿ª/ÆòÀÏ ÁÖ¹®ºÐÀÇ °æ¿ì´Â ¿ÀÈÄ 6½Ã±îÁö ÁÖ¹®ºÐ¿¡ ´ëÇÏ¿© ÀÍÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÏ´Â »óÇ°ÀÔ´Ï´Ù.
(´Ü, ¿ù¿äÀÏÀº 12½Ã±îÁö ÁÖ¹®¿¡ ÇÑÇÔ)
|
»óÇ°Àº, ÀÔ°í¿¹Á¤ÀÏ(Á¦Ç°Ãâ½ÃÀÏ)+Åùè»ç¹è¼ÛÀÏ(1ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù. |
~
»óÇ°Àº À¯ÅëƯ¼º»ó ÀÎÅÍÆÄÅ©¿¡¼ Àç°í¸¦ º¸À¯ÇÏÁö ¾ÊÀº »óÇ°À¸·Î ÁÖ¹®ÀÏ+±âÁØÃâ°íÀÏ+Åùè»ç¹è¼ÛÀÏ(1ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù.(Åä/°øÈÞÀÏÀº ¹è¼Û±â°£¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.)
¡Ø±âÁØÃâ°íÀÏ:ÀÎÅÍÆÄÅ©°¡ »óÇ°À» ¼ö±ÞÇÏ¿© ¹°·ùâ°í¿¡¼ Æ÷Àå/Ãâ°íÇϱâ±îÁö ¼Ò¿äµÇ´Â ½Ã°£
|
|
<¾÷ü Á÷Á¢¹è¼Û/¿ÀǸ¶ÄÏ »óÇ°> |
~
»óÇ°Àº ¾÷ü°¡ ÁÖ¹®À» È®ÀÎÇÏ°í, Ãâ°íÇϱâ±îÁö °É¸®´Â ½Ã°£ÀÔ´Ï´Ù. ÁÖ¹®ÀÏ+±âÁØÃâ°íÀÏ+Åùè»ç¹è¼ÛÀÏ(2ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù.(Åä/°øÈÞÀÏÀº ¹è¼Û±â°£¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.)
¡Ø5ÀÏÀ̳» Ãâ°í°¡ ½ÃÀÛµÇÁö ¾ÊÀ»½Ã, ¿ÀǸ¶ÄÏ »óÇ°Àº ÀÚµ¿À¸·Î ÁÖ¹®ÀÌ Ãë¼ÒµÇ¸ç, °í°´´Ô²² Ç°Àýº¸»ó±ÝÀ» Áö±ÞÇØ µå¸³´Ï´Ù.
|
|
|
¹è¼Ûºñ ¾È³» |
µµ¼(Áß°íµµ¼ Æ÷ÇÔ)¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 2,000¿ø (1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û) À½¹Ý/DVD¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 1,500¿ø (2¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
ÀâÁö/¸¸È/±âÇÁÆ®¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 2,000¿ø (2¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
µµ¼¿Í À½¹Ý/DVD¸¦ ÇÔ²² ±¸¸ÅÇϽøé : ¹è¼Ûºñ 1,500¿ø 1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
µµ¼¿Í ÀâÁö/¸¸È/±âÇÁÆ®/Áß°íÁ÷¹è¼Û»óÇ°À» ÇÔ²² ±¸¸ÅÇϽøé : 2,000¿ø (1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
¾÷üÁ÷Á¢¹è¼Û»óÇ°À» ±¸¸Å½Ã : ¾÷üº°·Î »óÀÌÇÑ ¹è¼Ûºñ Àû¿ë
* ¼¼Æ®»óÇ°ÀÇ °æ¿ì ºÎºÐÃë¼Ò ½Ã Ãß°¡ ¹è¼Ûºñ°¡ ºÎ°úµÉ ¼ö ÀÖ½À´Ï´Ù.
* ºÏÄ«Æ®¿¡¼ ¹è¼Ûºñ¾ø¾Ö±â ¹öÆ°À» Ŭ¸¯Çϼż, µ¿ÀϾ÷ü»óÇ°À» Á¶±Ý ´õ ±¸¸ÅÇϽøé, ¹è¼Ûºñ¸¦ Àý¾àÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
|
|
Çؿܹè¼Û ¾È³» |
ÀÎÅÍÆÄÅ©µµ¼¿¡¼´Â ±¹³»¿¡¼ ÁÖ¹®ÇϽðųª ÇØ¿Ü¿¡¼ ÁÖ¹®ÇÏ¿© ÇØ¿Ü·Î ¹è¼ÛÀ» ¿øÇÏ½Ç °æ¿ì DHL°ú Ư¾àÀ¸·Î Ã¥Á¤µÈ ¿ä±ÝÇ¥¿¡
ÀÇÇØ °³ÀÎÀÌ ÀÌ¿ëÇÏ´Â °æ¿ìº¸´Ù ¹è¼Û¿ä±ÝÀ» Å©°Ô ³·Ã߸ç DHL(www.dhl.co.kr)·Î Çؿܹè¼Û ¼ºñ½º¸¦ Á¦°øÇÕ´Ï´Ù.
Çؿܹè¼ÛÀº µµ¼/CD/DVD »óÇ°¿¡ ÇÑÇØ ¼ºñ½ºÇÏ°í ÀÖÀ¸¸ç, ´Ù¸¥ »óÇ°À» ºÏÄ«Æ®¿¡ ÇÔ²² ´ãÀ¸½Ç °æ¿ì Çؿܹè¼ÛÀÌ ºÒ°¡ÇÕ´Ï´Ù.
ÇØ¿ÜÁÖ¹®¹è¼Û ¼ºñ½º´Â ÀÎÅÍÆÄÅ© µµ¼ ȸ¿ø °¡ÀÔÀ» Çϼž߸¸ ½Åû °¡´ÉÇÕ´Ï´Ù. |
|
¾Ë¾ÆµÎ¼¼¿ä!!! |
µµ¸Å»ó ¹× Á¦ÀÛ»ç »çÁ¤¿¡ µû¶ó Ç°Àý/ÀýÆÇ µîÀÇ »çÀ¯·Î Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù.
¿ÀǸ¶ÄϾ÷üÀÇ ¹è¼ÛÁö¿¬½Ã ÁÖ¹®ÀÌ ÀÚµ¿À¸·Î Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù.
Ãâ°í°¡´É ½Ã°£ÀÌ ¼·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.
À¯ÅëÀÇ Æ¯¼º»ó Ãâ°í±â°£Àº ¿¹Á¤º¸´Ù ¾Õ´ç°ÜÁö°Å³ª ´ÊÃçÁú ¼ö ÀÖ½À´Ï´Ù.
Åùè»ç ¹è¼ÛÀÏÀÎ ¼¿ï ¹× ¼öµµ±ÇÀº 1~2ÀÏ, Áö¹æÀº 2~3ÀÏ, µµ¼, »ê°£, ±ººÎ´ë´Â 3ÀÏ ÀÌ»óÀÇ ½Ã°£ÀÌ ¼Ò¿äµË´Ï´Ù. |
|
|
|
|