我有一个代码片段,我想单元测试,这个代码取决于网络堆栈在接收数据事件时的回调。网络调用是通过一个库基本上是亚马逊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单元测试应该快。哟应**不**测试真正的网络电话。 –