2016-02-20 55 views
1

我想驗證在Swift中使用正確的參數在單元測試中調用期望的方法。這在Objective-C中使用OCMock框架很容易完成。你可以結合partialMocking和運行OCMExpect/Verify來聲明代碼路徑,並調用正確的參數。任何想法如何在Swift中做這樣的事情?OCMVerify /期待在Swift中?

回答

1

Swift不支持反射,所以傳統的模擬庫不可行。相反,你需要創建自己的模擬。至少有兩種方法可以做到這一點。

  1. 創建一個測試類的測試子類。這是部分嘲弄。如果可能,避免這種情況。
  2. 使用接口而不是類。創建接口的測試實現。

手工製作的嘲諷不難。你想

  • 計數的呼叫數量的方法
  • 捕獲它的參數
  • 模擬其返回值

這是一個很大的樣板。有些庫可以自動生成這些代碼。