Ich bin neu in iOS-Entwicklung und ich baue eine App, die Alamofire für HTTP-Anfrage verwendet. Ich muss Unit-Test für einige Dinge wie Login schreiben und brauche Hilfe damit. Ich habe etwas über Stub, Mocks recherchiert und auch über einige Frameworks wie Nocilla und OHTTPStubs gelesen, aber ich kann nicht anfangen. Ich habe einen Login-Controller, der Login-Informationen wie - Benutzername, Passwort aus Storyboard und auf Login-Button-Aktion Ich rufe eine Server-Utility-Methode. Ich habe eine Server-Dienstprogramm-Klasse, die die Methode zum Ausführen von Netzwerkanforderung implementiert.Unit Testing iOS App, die Alamofire für Netzwerkanforderung verwendet
@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)
}
}
}
Dies ist Server Utility-Klasse
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
}
}
Wie kann ich Unit-Test der folgende Code versehen Ich möchte nicht ein Netzwerk Anruf tätigen. Bitte hilf mir wie ich seit langem feststecke.
Vielen Dank.
Wie Sie Netzwerk Anrufe Stummel erwähnt (HTTP/HTTPS), können Sie mit [Stubby DB] (https://github.com/NaturalIntelligence/StubbyDB) starten. Link für [Video-Tutorial] (https://youtu.be/7mA4-MXxwgk). Es kann Ihnen helfen, Fehlerfälle, verschiedene Antwortcodes, Verzögerungsaufruf usw. zu prüfen. –