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