我使用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)