Я новичок в разработке iOS, и я создаю приложение, которое использует запрос Alamofire для HTTP. Мне нужно написать Unit test для нескольких вещей, таких как логин и вам нужна помощь. Я сделал несколько исследований о Stub, Mocks, а также прочитал несколько рамок, таких как Nocilla и OHTTPStubs, но я не могу начать. У меня есть контроллер входа, который получает регистрационную информацию, такую как - имя пользователя, пароль из раскадровки и действие кнопки входа в систему. Я вызываю метод утилиты сервера. У меня есть служебный класс сервера, который реализует метод для создания сетевого запроса.Unit Testing iOS App, в котором используется Alamofire для сетевого запроса
@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
}
}
Как проверить блок следующий код условии, что я не хочу, чтобы сетевой вызов. Пожалуйста, помогите мне, поскольку я застрял с тех пор.
спасибо.
Как упоминалось незавершенная сетевые вызовы (HTTP/HTTPS), вы можете начать с [Stubby DB] (https://github.com/NaturalIntelligence/StubbyDB). Ссылка на [Видеоурок] (https://youtu.be/7mA4-MXxwgk). Это может помочь вам протестировать ошибки, различные коды ответов, задержать вызов и т. Д. –