我是iOS开发的新手,我正在构建一个使用Alamofire进行HTTP请求的应用程序。我需要为登录等一些事情编写单元测试,并需要帮助。我做了一些关于Stub,Mocks的研究,还阅读了一些像Nocilla和OHTTPStubs这样的框架,但我无法开始。我有一个登录控制器,它获取登录信息,如 - 用户名,密码板,以及登录按钮操作,我称之为服务器实用程序方法。我有一个服务器实用程序类,它实现了发出网络请求的方法。
@IBAction func logIn(sender: AnyObject?) {
server.loginWith(username, password: password, server:url) { (user, error) in
dispatch_async(dispatch_get_main_queue()) {
if let err = error {
self.handleError(err)
return
}
self.performSegueWithIdentifier("unwind", sender: self)
}
}
}
这是服务器实用程序类
class Server {
func loginWith(username:String, password:String, server:String, callback:CompleteHandler) {
Alamofire.request(.GET, server + "/login", headers:defaultHeaders).validate().responseJSON {response in
var err:NSError?
var user:Object?
defer {
dispatch_group_leave(self.dispGrp)
callback(user:user, error: err)
}
switch response.result {
case .Success():
//gives me user data
case .Failure(let error):
// gives me error
}
}
如果我不希望进行网络通话,我如何对以下代码进行单元测试。请帮助我,因为我被困住了很长时间。
谢谢。
答案 0 :(得分:1)
它允许你: