驗證調(diào)用是否執(zhí)行
在mock測試中需要驗證mock方案標記的方法是否按照預(yù)期的入?yún)?zhí)行過,若缺少這一步可能導(dǎo)致測試用例出現(xiàn)未預(yù)期的成功
例,一個用例按如下步驟執(zhí)行:
測試的依賴使用@SpyBean標注
執(zhí)行到mock方案對應(yīng)的方法,入?yún)⑴cmock方案預(yù)期不一致
方法按照真實邏輯執(zhí)行
方法的返回值恰巧與預(yù)期一致
測試成功
上述例子的用例可能會在某次數(shù)據(jù)庫數(shù)據(jù)變動,外部鏈接中斷的場景下執(zhí)行失敗
增加驗證調(diào)用是否執(zhí)行的步驟可以解決該問題
測試工具
使用Mock Object進行測試,主要是用來模擬那些在應(yīng)用中不容易構(gòu)造(如HttpServletRequest必須在Servlet容器中才能構(gòu)造出來)或者比較復(fù)雜的對象(如JDBC中的ResultSet對象)從而使測試順利進行的工具。
目前,在Java陣營中主要的Mock測試工具有JMock,MockCreator,Mockrunner,EasyMock,MockMaker等,在微軟的.Net陣營中主要是Nmock,.NetMock等。
關(guān)鍵詞: 驗證調(diào)用 是否執(zhí)行 測試工具 到底什么是測試工具