HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 为测试创建Alamofire响应大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的iOS应用程序中使用Alamofire进行API调用.我试图在测试中存储这些数据,我已经尝试了mockingjay和OHhttpstubs但是都没有工作,所以我现在试图将我收到的响应存根.

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

public init(@R_674_10613@est: NSURL@R_674_10613@est?,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(@R_674_10613@est: NSURL@R_674_10613@est(),response: NShttpURLResponse(),data: NSData(),result: result)

解决方法

看下面的例子:

let result = Result<String,NSError>.success("Hello")

result.issuccess // prints true
result.value // prints "Hello"

希望有所帮助

大佬总结

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

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。