parasoft Jtest 使用教程:創建并使用參數化測試用例(上)
本次教程的內容是怎樣生成和使用參數化的JUnit測試用例,一起來看看吧。
進行之前,需要創建Jtest Example工程并測試用例參數化許可。可詳見之前教程。
詳細步驟
- 復習用戶定義的測試用例Jtest Example> examples.nbank>AccountTest.java.的可用性。
- 通過選擇Jtest Example> examples.nbank>Account.java,運行測試,然后運行"Run Unit Tests"測試配置。
- 為了增加覆蓋率并且尋找額外的問題,參數化測試用例如下所示能夠達到自動生成測試數據傳遞給現存測試用例:
a、右擊Jtest Example> examples.nbank>AccountTest.java> AccountTest>testApply(), 然后選擇 Jtest> Extract Parameterized Test Case。
b、在測試用例參數化向導中,選擇Generate Excel spreadsheet with heuristics and corner case values.這樣告訴Jtest生成corner用例值以及在運行時不同的源輸入,并且生成具有所有測試數據的Excel電子表格。
c、點擊Next。
d、點擊Finish。
打開AccountTest.java來看參數化的結果。
雙擊Jtest Example> AccountTest.xls打開Excel文件。或者你安裝了Excel,右擊節點,然后選擇Open With>System Editor。
通過選擇Jtest Example> examples.nbank>Account.java運行參數化測試,然后運行”Run Unit Tests”測試配置。
相似地,傳遞nulls時引發NullPointerExceptions。
首先,在第8行,null作為名字來傳遞,將引發NullPointerException。
第二,在第18行,null作為社會保險號,將引發NullPointerException。
第三個NullPointerException指向代碼的邏輯錯誤。在Customer類中調用equals方法時引發空指針異常,因為field_ssn是空。如果去查看代碼,會發現field_ssn被初始化為null。在Customer的構造函數中再沒有將此變量初始成其它的值。其結果是,它的值仍然為null,在equals方法中解引用時導致空指針異常。這是代碼中的一個缺陷需要修復。同樣的缺陷能夠被Jtest BugDetective或者自動化的單元測試發現。
此練習向你展示了怎樣促使測試用例參數化通過一個手工編寫的JUnit測試用例來自動生成測試數據。或者,你可以通過編輯Excel電子表格手動添加測試數據,或者將Jtest指向你自己的測試數據。
以上就是本次教程的內容了,你也可以申請jtest試用>>,親自動手試試哦。
查看更多parasoft測試產品
獲取更多活動信息