ios – 为测试创建Alamofire响应

ios – 为测试创建Alamofire响应,第1张

概述我在我的iOS应用程序中使用Alamofire进行API调用.我试图在测试中存储这些数据,我已经尝试了Mockingjay和OHHTTPStubs但是都没有工作,所以我现在试图将我收到的响应存根. 我需要创建一个带有虚拟数据的响应,我可以将其传递给其他方法.这是Alamofire中Response对象的初始化程序: public init(request: NSURLRequest?, respo 我在我的iOS应用程序中使用Alamofire进行API调用.我试图在测试中存储这些数据,我已经尝试了Mockingjay和OHhttpStubs但是都没有工作,所以我现在试图将我收到的响应存根.

我需要创建一个带有虚拟数据的响应,我可以将其传递给其他方法.这是Alamofire中Response对象的初始化程序:

public init(request: NSURLRequest?,response: NShttpURLResponse?,data: NSData?,result: Result<Value,Error>)

但是我无法弄清楚如何创建这个对象,因为我无法创建一个Result.以下是Alamofire的一些结果类:

public enum Result<Value,Error: ErrorType> {    case Success(Value)    case Failure(Error)    /// Returns `true` if the result is a success,`false` otherwise.    public var isSuccess: Bool {        switch self {        case .Success:            return true        case .Failure:            return false        }    }    /// Returns `true` if the result is a failure,`false` otherwise.    public var isFailure: Bool {        return !isSuccess    }    /// Returns the associated value if the result is a success,`nil` otherwise.    public var value: Value? {        switch self {        case .Success(let value):            return value        case .Failure:            return nil        }    }    /// Returns the associated error value if the result is a failure,`nil` otherwise.    public var error: Error? {        switch self {        case .Success:            return nil        case .Failure(let error):            return error        }    }}

我似乎无法弄清楚如何将结果传递给带有值的响应对象,以表示API响应.

我觉得我对枚举感到困惑,以及它们如何在变量中加入变量.

任何人都可以帮我建立回应吗?

谢谢.

ANSWERED

感谢您的回答……以下是使用Json响应创建整个响应的方法

let london : NSDictionary = ["name" : "london","latitude" : 23.00,"longitude" : 0.0,"ID" : "london_gb"]                let paris : NSDictionary = ["name" : "paris","latitude" : 30.00,"longitude" : -1.0,"ID" : "paris_fr"]                let locations = NSArray(array: [london,paris])                let result = Result<AnyObject,NSError>.Success(locations)                var response = Response(request: NSURLRequest(),response: NShttpURLResponse(),data: NSData(),result: result)
解决方法 看下面的例子:

let result = Result<String,NSError>.Success("Hello")result.isSuccess // prints trueresult.value // prints "Hello"

希望有所帮助

总结

以上是内存溢出为你收集整理的ios – 为测试创建Alamofire响应全部内容,希望文章能够帮你解决ios – 为测试创建Alamofire响应所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1058783.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存