19 |
document.getElementById( "usernameMessage" ).innerHTML); |
20 |
assertEquals ( "Password is not validated correctly!" , "This field is required" , |
21 |
document.getElementById( "passwordMessage" ).innerHTML); |
22 |
}; |
ApplicationUtilTest 對象通過 JsTestDriver TestCase 對象創建。如果您熟悉 JUnit 框架,那么您肯定熟悉 setUp 和 testXXX 方法。setUp方法用于初始化測試用例。對于本例,我使用該方法來聲明一個 HTML 片段,該片段將用于其他測試用例方法。
DOC 注釋是一個 JsTestDriver 慣用語,可以用于輕松聲明一個 HTML 片段。
在 testValidateLoginFormBothEmpty 方法中,創建了一個 ApplicationUtil 對象,并在測試用例方法中使用該對象。然后,代碼通過檢索用戶名和密碼的 DOM 元素并將它們的值設置為空值來模擬輸入空用戶名和密碼??梢哉{用 validateLoginForm 方法來執行實際表單驗證。最后,將調用 assertEquals 來確保 usernameMessage 和 passwordMessage span 元素中的消息是正確的,即:This field is required。
在 JsTestDriver 中,可以使用以下構件:
fail("msg"):表明測試一定會失敗,消息參數將顯示為一條錯誤消息。
assertTrue("msg", actual):斷定實際參數正確。否則,消息參數將顯示為一條錯誤消息。
assertFalse("msg", actual):斷定實際參數錯誤。否則,消息參數將顯示為一條錯誤消息。
assertSame("msg", expected, actual):斷定實際參數與預期參數相同。否則,消息參數將顯示為一條錯誤消息。
assertNotSame("msg", expected, actual):斷定實際參數與預期參數不相同。否則,消息參數將顯示為一條錯誤消息。
assertNull("msg", actual):斷定參數為空。否則,消息參數將顯示為一條錯誤消息。
assertNotNull("msg", actual):斷定實際參數不為空。否則,消息參數將顯示為一條錯誤消息。
其他方法的代碼包含其他測試用例。清單 4 顯示了測試用例對象的完整代碼。
清單 4. ApplicationUtil 對象完整代碼
查看源代碼
打印幫助
01 |
ApplicationUtilTest = TestCase ( "ApplicationUtilTest" ); |
02 |
|
03 |
ApplicationUtilTest.prototype.setUp = function () { |
04 |
/*:DOC += <FORM action=""><table><tr><td>Username</td><td> |
05 |
<input type="text" id="username"/></td><td><span id="usernameMessage"> |
06 |
</span></td></tr><tr><td>Password</td><td> |
原文轉自:http://www.anti-gravitydesign.com