小编Sam*_*ton的帖子

我如何仅模拟Alamofire回复?

我使用Alamofire的Swift 2代码查询它希望返回JSON的远程URL.我已经做了足够的交互式测试,以确信它的行为足够正确.现在我想对它进行单元测试,这样我就可以依赖这些代码,然后转向其他事情.

我是Swift的新手,虽然我已经编写了几十年的OO Perl,所以我可能错过了一些东西.

这是我到目前为止设置检查代码的方式(不重要的事情,例如我如何删除用户名和密码以避免牦牛剃须).调用代码指定用户名和密码,并且只要获得结果,就会调用两个回调中的一个.(我没有处理错误,所以请不要对这个问题进行侧面跟踪.)

struct checkUsernameHandler {
    var onSuccess: () -> ()
    var onFailure: () -> ()
}
struct checkUsernameOutput {
    var authenticated: Bool?
}

func checkUsername(user: User, handler: checkUsernameHandler) {
    Alamofire.request(.PUT, NSURL(string: baseURL + "/user/verify?key=" + apiKey)!,
        parameters: [
            "username": user.username!,
            "password": user.password!,
        ],
        encoding: .JSON
    ).responseJSON { response in
        let checkusernameOutput = self.analyseCheckUsernameResponse(response)
        if let authenticated = checkusernameOutput.authenticated {
            if authenticated {
                handler.onSuccess()
            } else {
                handler.onFailure()
            }
        }
    }
}

func analyseCheckUsernameResponse (response: Response<AnyObject, NSError>) -> …
Run Code Online (Sandbox Code Playgroud)

json unit-testing swift alamofire

6
推荐指数
1
解决办法
4942
查看次数

标签 统计

alamofire ×1

json ×1

swift ×1

unit-testing ×1