最近讀Ajax基礎教程,讀到了用JsUnit測試和跟蹤Javascript,感覺不錯。
一,用JsUnit測試Javascript,
1,準備好JsUnit,可以從http://sourceforge.net/projects/jsunit/
這兒下載JsUnit包,解壓到工程檔案下,JsUnit斷言方法
assert([comment],
booleanValue)
assertTrue([comment], booleanValue)
assertFalse([comment], booleanValue)
assertEquals([comment], value1, value2)
assertNotEquals([comment], value1,
value2)
assertNull([comment], value)
assertNotNull([comment], value)
assertUndefined([comment], value)
assertNotUndefined([comment], value)
assertNaN([comment], value)
assertNotNaN([comment], value)
fail(comment)
2,準備好簡單的測試頁面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br /><html><br /> <head><br /> <title>A Simple Test Page</title><br /> <mce:script type="text/javascript" src="jsunit/app/jsUnitCore.js" mce_src="jsunit/app/jsUnitCore.js"></mce:script><br /> <mce:script type="text/javascript" src="JavaScripts/Sample.js" mce_src="JavaScripts/Sample.js"><!--</p><p>// --></mce:script><br /> <mce:script type="text/javascript"><!--<br /> function setUp() {<br /> document.getElementById("value1").value = "2";<br /> document.getElementById("value2").value = "2";<br /> }<br /> function testValidArgs() {<br /> assertEquals("2 + 2 should equal 4", 4, addNumbers());<br /> }<br /> function addNumbers() {<br /> var val1 = document.getElementById("value1").value;<br /> var val2 = document.getElementById("value2").value;<br /> return addTwoNumbers(val1, val2);<br /> }<br /> function tearDown() {<br /> document.getElementById("value1").value = "";<br /> document.getElementById("value2").value = "";<br /> }<br /> function exposeTestFunctionNames() {<br /> var tests = new Array(1);<br /> tests[0] = "testValidArgs";<br /> return tests;<br /> }</p><p>// --></mce:script><br /> </head><br /> <body><br /> <input type="text" size="3" id="value1"/><br /> <input type="text" size="3" id="value2"/><br /> <input type="button" value="Add" onclick="addNumbers()"/><br /> This is a simple test page for addTwoNumbers(value1, value2).<br /> </body><br /></html>
3,開啟testRunner.html檔案輸入測試頁面進行測試。
JsUnit支援很多方法setUp()
和
tearDown()
和
setUpPage()等,讀完這些後,加深了對已經做自動化測試的理解。
測試結果:
二:JsUnit同時也支援JS跟蹤。跟蹤方法有
warn(message,
[value])
inform(message, [value])
debug(message, [value])
script language="JavaScript"><br /> function addTwoNumbers(value1, value2) {<br /> warn("this is a warning message");<br /> warn("this is a warning message with a value", value1);<br /> return value1 + value2;<br /> }<br /> function testValidArgs() {<br /> inform("this is an inform message");<br /> assertEquals("2 + 2 is 4", 4, addTwoNumbers(2, 2));<br /> }<br /> function testWithNegativeNumbers() {<br /> debug("this is a debug message");<br /> assertEquals("negative numbers: -2 + -2 is -4", -4,<br />addTwoNumbers(-2, -2));<br /> }<br /> </script>