我有一個代碼片段,我想單元測試,這個代碼取決於網絡堆棧在接收數據事件時的回調。網絡調用是通過一個庫基本上是亞馬遜iOT庫,因此我不直接與iOS網絡框架交互,但是這個庫。我想單元測試這個代碼,不知道它是否可能如果是的話。如何從服務器接收響應的單元測試代碼
附件中是有問題
static func subscribeForData(completionCallBack:((String,NSDictionary)->())?,errorCallBack:((NSError)->())?) {
let iotDataManager = AWSIoTDataManager.default()
let defaults = UserDefaults.standard
let login = .....
iotDataManager.subscribe(toTopic: "testNode/device/"+login, qoS: .messageDeliveryAttemptedAtLeastOnce, messageCallback: {
(payload) ->Void in
let stringValue = NSString(data: payload, encoding: String.Encoding.utf8.rawValue)!
})
}
嘗試使用此LIB嘲笑網絡層:https://github.com/AliSoftware/OHHTTPStubs (你可以添加json文件並將它們作爲特定url調用的網絡響應) –
我的第一個想法是調度信號量,它將等待服務器響應,並且可以發信號燈繼續 – Joshua
@Joshua單元測試應該快。喲應**不**測試真正的網絡電話。 –