2016-06-21 11 views
3

Ich versuche, einige Komponententests zu schreiben, und brauche eine Möglichkeit, eine Dummy-Version eines Objekts zu erstellen, das abbildbar ist. Zum Beispiel:Manuelles Zuordnen eines Objekts mit AlamoFireObjectMapper

class MyClassJsonResponse: Mappable { 

    var status: String? 
    var response: String? 
    var errorCode: SAErrorCode? 

    init() { 

    } 

    required init?(_ map: Map) { 

    } 

    func mapping(map: Map) { 
     status <- map["status"] 
     response <- map["response"] 
     errorCode <- (map["error_code"], SAErrorCodeTransform()) 
    } 
} 

Normalerweise ist dies von einem Alamofire Aufruf zurückgegeben wird, aber wie würde ich eine manuell erstellen und in einem leeren JSON-String übergibt manuell? Jeder diesbezügliche Rat wird sehr geschätzt! Vielen Dank!

Antwort

0

Der Object-Mapper definiert eine Init-Funktion für Ihre Klassen, mit der Sie ein JSON-Dictionary-Objekt übergeben können. In Ihrem Test init ein JSON-Objekt aus einem String und verwendet, die:

let json = JSON.parse("{}") 
if let _json = json.dictionaryObject { 
    if let someObject = SomeObject(JSON: _json) { 
     // Some assertions here 
    } 
    else { 
     // Some assertions here about failure to map object, etc. 
    } 
} 

In meinem Fall ich dies mit in einem QuickSpec und Importieren von SwiftyJSON, sollte aber in regelmäßigen XCTest Fällen.

Verwandte Themen