2016-06-21 6 views
3

私はいくつかの単体テストを書くつもりですし、マッピング可能なオブジェクトのダミーバージョンを作る方法が必要です。たとえば、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()) 
    } 
} 

通常、これはAlamofireコールから返されますが、手動で作成して手動で空のJSON文字列を渡すにはどうすればよいですか?これについてのアドバイスは大変ご満足いただけます!ありがとう!

答えて

0

オブジェクトマッパーは、JSONディクショナリオブジェクトを渡すためのクラスのinit関数を定義します。テストでは、文字列からJSONオブジェクトを初期化して、それを使用します。私の場合は

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. 
    } 
} 

を私はのQuickSpecでこれを使用してSwiftyJSONをインポートしますが、通常のXCTestのケースで動作するはずです。

関連する問題