Å×½ºÆ® ÆäÀÌÁö¸¦ ÀÛ¼ºÇؼ JsUnit À¸·Î ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ Å×½ºÆ® ÇØº¸ÀÚ. µÎ ¼ö¸¦ ´õÇØ¼ ±× °á°ú°ªÀ» ¸®ÅÏÇÏ´Â ¾ÆÁÖ °£´ÜÇÑ ¿øº»¸Þ¼Òµå¸¦ ¾Æ·¡¿Í °°ÀÌ ÀÛ¼ºÇß´Ù°í ÇÏÀÚ. ¿øº» ¸Þ¼Òµå´Â ½ÇÁ¦ À¥È¸é¿¡¼ »ç¿ëµÇ¾îÁú ¸Þ¼ÒµåÀÌ´Ù. Å×½ºÆ® ¸Þ¼Òµå´Â ¿øº» ¸Þ¼Òµå¸¦ Å×½ºÆ® Çϱâ À§Çؼ »õ·Ó°Ô ¸¸µé¾îÁø ¸Þ¼Òµå¸¦ ÀǹÌÇÑ´Ù.
function addTwoNumbers(value1, value2){
return value1 + value2;
}
À§ ¿øº» ¸Þ¼Òµå¸¦ JsUnit À» ÀÌ¿ëÇØ¼ Å×½ºÆ®¸¦ ÇØº¸·Á¸é assert ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÑ Å×½ºÆ® ¸Þ¼Òµå¸¦ ¾Æ·¡¿Í °°ÀÌ ÀÛ¼ºÇØ¾ß ÇÑ´Ù.
function testValidArgs(){
assertEquals("2 + 2 is 4", 4, addTwoNumbers(2, 2));
}
Å×½ºÆ® ¸Þ¼Òµå¸í¸¦ Á¤ÇÒ¶§´Â test ·Î ½ÃÀÛÇØ¾ß ÇÑ´Ù´Â Á¡¿¡ À¯ÀÇÇÏÀÚ. JsUnit Àº test ·Î ½ÃÀÛÇÏ´Â ¸Þ¼Òµå¸¸À» ÀÚµ¿À¸·Î ÀνÄÇØ¼ ½ÇÇàÇÏ°í °á°ú¸¦ ¾Ë·ÁÁֱ⠶§¹®ÀÌ´Ù. À§ Äڵ带 º¸¸é JUnit ó·³ assertEquals ¸Þ¼Òµå°¡ ÀÖ´Ù. assertEquals ¸Þ¼Òµå¿¡´Â ¼¼°³ÀÇ ÆÄ¶ó¹ÌÅͰ¡ Àִµ¥, ù¹øÂ°´Â ÁÖ¼®ÀÌ°í µÎ¹øÂ°´Â ºñ±³ÇÒ °á°ú°ª ¼¼¹øÂ°´Â ¿øº» ¸Þ¼Òµå À̸§À» ¼³Á¤ÇÏ¸é µÈ´Ù. ù¹øÂ° ÁÖ¼® ÆÄ¶ó¹ÌÅÍ´Â ¿É¼ÇÀ¸·Î »ý·«°¡´ÉÇÏ´Ù. assertEquals ¸Þ¼Òµå´Â µÎ¹øÂ°¿Í ¼¼¹øÂ° ÆÄ¶ó¹ÌÅ͸¦ ºñ±³Çؼ true ¶Ç´Â false ¸¦ ¸®ÅÏÇÑ´Ù. assort ¸Þ¼ÒµåÀÇ Á¾·ù´Â ¾Æ·¡¿Í °°´Ù.
assert([commet], booleanValue)
assertTrue([commet], booleanValue)
assertFalse([commet], booleanValue)
assertEquals([commet], value1, value2)
assertNotEquals([commet], value1, value2)
assertNull([commet], value)
assertNotNull([commet], value)
assertUndefined([commet], value)
assertNotUndefined([commet], value)
assertNaN([commet], value)
assertNotNaN([commet], value)
fail(comment)
Å×½ºÆ® ¸Þ¼Òµå´Â ¾ó¸¶µçÁö ¸¸µé ¼ö ÀÖ´Ù. À½¼ö¿¡ ´ëÇÑ addTwoNumbers ¸Þ¼ÒµåÀÇ Å×½ºÆ® ¸Þ¼Òµå´Â ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
function testWithNegativeNumbers(){
assertEquals("Negative Numbers : -2 + -2 is -4", -4, addTwoNumbers(-2, -2));
}
½ÇÁ¦ Å×½ºÆ® ÆäÀÌÁö »ùÇà ÆÄÀÏÀº ¾Æ·¡¿Í °°ÀÌ ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>A Simple Test Page</title>
<script language="javascript" src="../jsunit/app/jsUnitCore.js"></script>
<script language="javascript">
function addTwoNumbers(value1, value2){
return value1 + value2;
}
function testValidArgs(){
assertEquals("2 + 2 is 4", 4, addTwoNumbers(2, 2));
}
function testWithNegativeNumbers(){
assertEquals("Negative Numbers : -2 + -2 is -4", -4, addTwoNumbers(-2, -2));
}
</script>
</head>
<body>
This is a Simple test page for addTwoNumbers(value1, value2)
</body>
</html>
<addTwoNumbers.html ÀÇ ÀüüÄÚµå>
À§ addTwoNumbers.html ÆÄÀÏÀº ¾î´À µð·ºÅ丮¿¡ ÀúÀåÇÏ´õ¶óµµ JsUnit test runner ·Î Å×½ºÆ® Çϴµ¥ ÀüÇô ÁöÀåÀÌ ¾ø´Ù. ´Ù¸¸ ÁÖÀÇÇÒ Á¡Àº jsUnitCore.js ÀÇ »ó´ë°æ·Î¸¦ Àß ¸ÂÃç¾ß ÇÑ´Ù. Å×½ºÆ® ÆÄÀÏÀ» ÀúÀåÇÑ À§Ä¡·Î ºÎÅÍ jsUnitCore.js ÆÄÀÏÀÇ »ó´ë°æ·Î¸¦ Àû¾îÁÖ¸é µÈ´Ù.
¸¸ÀÏ ¾Æ·¡ ±×¸²°ú °°ÀÌ Å×½ºÆ® °á°ú°¡ Á¤»ó ȤÀº ½ÇÆÐ·Î ³ª¿ÀÁö ¾Ê°í ¾Ë ¼ö ¾ø´Â »óȲÀÌ ¹ß»ýÇÑ´Ù¸é AJAX °ÀÇ 6-6Àå - JsUnit Ȱ¿ë/page timeout ÇʵåÀ» Âü°íÇϱ⠹ٶõ´Ù.
À§ ÆÄÀÏÀÇ ½ÇÇà°á°ú´Â ¾Æ·¡¿Í °°´Ù.
À§ ±×¸²Àº Å×½ºÆ® ¸Þ¼Òµå ½ÇÇà°á°ú°¡ ¸ðµÎ Á¤»óÀÏ °æ¿ì¸¦ Ç¥½ÃÇÑ °ÍÀÌ´Ù. test runner ¿¡ º¸¸é Progess ¹Ù°¡ Àִµ¥ ³ì»öÀ̸é Á¤»ó Á¾·á¸¦ ÀǹÌÇÏ°í »¡°£»öÀÌ¸é ¹«¾ùÀΰ¡ ¹®Á¦°¡ ÀÖ´Ù´Â °ÍÀ» ³ªÅ¸³½´Ù.
»óÅÂÇ¥½Ã ¹Ù¿¡ ´ëÇÑ ±Ã±ÝÇÑ Á¡ÀÌ ÀÖ´Ù¸é AJAX °ÀÇ 6-7Àå - JsUnit Ȱ¿ë/Progress bar ¹× »óÅÂÇ¥½Ã ÇʵåÀ» Âü°íÇϱ⠹ٶõ´Ù.
Å×½ºÆ® °á°ú¿¡ ¹®Á¦°¡ ÀÖÀ» °æ¿ì¿¡´Â ¾Æ·¡¿Í °°Àº ȸéÀ» º¸°Ô µÉ °ÍÀÌ´Ù.
À§ ±×¸²Àº Å×½ºÆ® µµÁß¿¡ ¹«¾ùÀΰ¡ ¹®Á¦°¡ ÀÖÀ½À» ÀǹÌÇÑ´Ù. »ç½Ç À§ ±×¸²¿¡ º¸¸é Errors ¿Í Failures °¡ ÀǹÌÇÏ´Â °Í¿¡´Â Â÷À̰¡ ÀÖ´Ù. ÀÌ ºÎºÐÀº ÇâÈÄ¿¡ ¼³¸íÇÒ °ÍÀÌ´Ù. Show selected/Show all ¹öưÀ» Ŭ¸¯ÇÏ¸é ¾îµð¿¡ ¹®Á¦°¡ ÀÖ´ÂÁö È®ÀÎ ÇÒ ¼ö ÀÖ´Ù.
À§ ¸Þ½ÃÁö´Â 2 + 2 ÀÇ °á°ú°¡ 4°¡ ³ª¿À±â¸¦ ±â´ëÇߴµ¥ 5°¡ ³ª¿Ô´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. À§ ¸Þ½ÃÁö¸¦ º¸°í Å×½ºÆ® ¸Þ¼Òµå ȤÀº ¿øº» ¸Þ¼Òµå¸¦ ¼öÁ¤ÇÏ¸é µÈ´Ù.
JsUnit À» »ç¿ëÇϱâ À§Çؼ´Â Å×½ºÆ® ÆäÀÌÁö ¹× Å×½ºÆ® ¸Þ¼Òµå¸¦ ºÎ°¡ÀûÀ¸·Î ÀÛ¼ºÇØ¾ß ÇÑ´Ù. ÀÌ·± ºÎÂ÷ÀûÀÎ ÀÛ¾÷À» ÇØ¾ß ÇÏ´Â ¸ñÀûÀº Àß µ¿ÀÛÇÏ´Â ¿øº» ¸Þ¼Òµå¸¦ ¾ò±â À§ÇÔÀÌ´Ù. µû¶ó¼ ¿øº» ¸Þ¼Òµå¸¦ sample.js ¶ó´Â º°µµÀÇ js ÆÄÀÏ¿¡ ¸ð¾Æ³õ°í Å×½ºÆ® ÆäÀÌÁö¿¡´Â Å×½ºÆ® ¸Þ¼Òµåµé¸¸ ÄÚµùÇØµÎ´Â ½À°üÀ» µé¿©º¸ÀÚ. À§ »ùÇà Äڵ带 ¾Æ·¡¿Í °°ÀÌ ¼öÁ¤ÇÏÀÚ.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>A Simple Test Page</title>
<script language="javascript" src="../jsunit/app/jsUnitCore.js"></script>
<script language="javascript" src="js/sample.js"></script>
<script language="javascript">
function testValidArgs(){
assertEquals("2 + 2 is 4", 4, addTwoNumbers(2, 3));
}
function testWithNegativeNumbers(){
assertEquals("Negative Numbers : -2 + -2 is -4", -4, addTwoNumbers(-2, -2));
}
</script>
</head>
<body>
This is a Simple test page for addTwoNumbers(value1, value2)
</body>
</html>
À§ Äڵ忡¼ <script language="javascript" src="js/sample.js"></script> ºÎºÐÀÌ Ãß°¡µÇ¾ú´Ù´Â °Í¿¡ À¯ÀÇÇÏÀÚ. sample.js ¿¡´Â addTwoNumbers ¿øº» ¸Þ¼Òµå°¡ µé¾î ÀÖÀ» °ÍÀÌ´Ù. Å×½ºÆ® ÇØº¸¸é °°Àº °°Àº °á°ú°¡ ³ª¿À´Â °ÍÀ» È®ÀÎ ÇÒ ¼ö ÀÖ´Ù.
¾Õ¼ Å×½ºÆ® ¸Þ¼Òµå¸íÀº test ·Î ½ÃÀÛÇØ¾ß ÇÑ´Ù´Â Á¡À» ±â¼úÇÏ¿´´Ù. ÇÏÁö¸¸ ²À ±×·±°Í¸¸Àº ¾Æ´Ï´Ù. test ·Î ½ÃÀÛÇϸé JsUnit ÀÌ ÀÚµ¿À¸·Î ÀνÄÀ» ÇϹǷΠ°³¹ßÀÚ ÀÔÀå¿¡¼´Â Æí¸®Çϱ⶧¹®¿¡ Edward °¡±âº»ÀûÀ¸·Î ±×·¸°Ô ±¸ÇöÇÑ °Í »ÓÀÌ´Ù. °Á¦·Î Å×½ºÆ® ¸Þ¼Òµå¶ó´Â °ÍÀ» JsUnit ¿¡°Ô ÀνĽÃÄÑ ÁÖ±â À§Çؼ´Â exposeTestFunctionNames ¸Þ¼Òµå¸¦ ÀÛ¼ºÇØ¾ß ÇÑ´Ù. ¾Æ·¡ÀÇ Å×½ºÆ® ÆäÀÌÁö Äڵ带 º¸ÀÚ.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>A Simple Test Page</title>
<script language="javascript" src="../jsunit/app/jsUnitCore.js"></script>
<script language="javascript" src="js/sample.js"></script>
<script language="javascript">
function testValidArgs(){
assertEquals("2 + 2 is 4", 4, addTwoNumbers(2, 2));
}
function testWithNegativeNumbers(){
assertEquals("Negative Numbers : -2 + -2 is -4", -4, addTwoNumbers(-2, -2));
}
function notTestValidArgs(){
assertEquals("2 + 2 is 4", 4, addTwoNumbers(2, 2));
}
function notTestWithNegativeNumbers(){
assertEquals("Negative Numbers : -2 + -2 is -4", -4, addTwoNumbers(-2, -2));
}
function exposeTestFunctionNames(){
var tests = new Array(2);
tests[0] = "notTestValidArgs";
tests[1] = "notTestWithNegativeNumbers";
return tests;
}
</script>
</head>
<body>
This is a Simple test page for addTwoNumbers(value1, value2)
</body>
</html>
À§ Äڵ带 º¸¸é test ·Î ½ÃÀÛÇÏ´Â Å×½ºÆ® ¸Þ¼Òµå 2°³¿Í ±×·¸Áö ¾ÊÀº Å×½ºÆ® ¸Þ¼Òµå 2°³°¡ ÀÖÀ» °ÍÀÌ´Ù. JsUnit À¸·Î ½ÇÇàÇØº¸¸é 4°³ÀÇ Å×½ºÆ® ¸Þ¼Òµå´Â ¸ðµÎ ½ÇÇàµÈ´Ù. test ·Î ½ÃÀÛÇÏ´Â ¸Þ¼Òµå´Â ´ç¿¬È÷ ÀÚµ¿À¸·Î ½ÇÇàµÉ °ÍÀÌ°í ±×·¸Áö ¾ÊÀº Å×½ºÆ® ¸Þ¼ÒµåµéÀº exposeTestFunctionNames ³»ºÎ¿¡ Á¤ÀǵǾî Àֱ⶧¹®¿¡ JsUnit °¡ Å×½ºÆ® ¸Þ¼Òµå·Î ÀνÄÇÏ¿© ½ÇÇàÇÏ´Â °ÍÀÌ´Ù.