OCMStub([classMock isTouchIDSupported]).andCall(checkbox,@selector(isChecked));
c、mock設置參數中的返回值;
對于函數返回值放在參數中的情況,即參數傳遞的是一個指針的指針,直接不執行mock函數,而是將返回值直接設置給返回值參數。舉例如下:
d、mock一個異常返回。
在單元測試中,也常常需要mock一個異常返回,從而去保證異常路徑得到覆蓋。如下為一個簡單示例:
對于黑盒測試,如果要后臺返回特定的數據需要配單,且還難以模擬一些后臺。
返回異常數據情況。有了單元測試后,我們可以在不配單情況下指定后臺返回數據,檢查客戶端對于后臺的正常和異常返回處理是否得當。在集成測試前,做驗證模塊內部的邏輯正確性,避免在聯調時花費過多的時間來解決小問題,提高聯調的效率。
舉例:iOS手機管家問問中一次更新拉取,如果后臺有超過20篇以上的文章,那么僅返回前20條。黑盒測試方案,我們必須在后臺配置至少20篇以上文章。在接口自動化測試中,先模擬后臺有超過20篇文章,檢查是否有做好僅顯示前20篇文章客戶端邏輯。
原文轉自:http://tmq.qq.com/2017/07/ios/