首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Alamofire进行网络请求的iOS应用程序的单元测试

使用Alamofire进行网络请求的iOS应用程序的单元测试
EN

Stack Overflow用户
提问于 2016-10-14 03:41:48
回答 1查看 883关注 0票数 2

我是iOS开发的新手,我正在构建一个应用程序,它使用Alamofire进行HTTP。我需要编写一些像登录之类的单元测试,并需要帮助。我做了一些关于Stub,Mocks的研究,也读过一些像Nocilla和OHTTPStubs这样的框架,但是我无法开始。我有一个登录控制器,它获取登录信息,如-用户名,密码从故事板和登录按钮动作,我称为服务器实用程序方法。我有一个服务器工具类,它实现了发出网络请求的方法。

代码语言:javascript
复制
@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)
        }
    }
}

这是服务器实用程序类。

代码语言:javascript
复制
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
    }
}

如果我不想进行网络调用,如何测试以下代码。请帮助我,因为我已经被困很久了。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-10-14 04:09:15

使用OHHTTPStubs

它允许你:

  • 用假网络数据(从文件中截取)测试应用程序,并模拟慢速网络,以检查应用程序在恶劣网络条件下的行为。
  • 编写使用来自固定装置的假网络数据的单元测试。

还有支援迅捷3.0

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40034578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档