ジャクソン2.0を使用してJSONをAndroid POJOにデシリアライズするための注釈値を@JsonProperty
と指定しました。単体テストで使用するためにJacksonに指定された@JsonProperty注釈値を取得するにはどうすればよいですか?
ユニットテスト中に@JsonProperty
の値を返すにはどうすればよいですか?
ジャクソン2.0を使用してJSONをAndroid POJOにデシリアライズするための注釈値を@JsonProperty
と指定しました。単体テストで使用するためにJacksonに指定された@JsonProperty注釈値を取得するにはどうすればよいですか?
ユニットテスト中に@JsonProperty
の値を返すにはどうすればよいですか?
AFAICTでは、反射を使用する必要があるので、@JsonProperty
値を取得するのは面倒です。これにより、すぐに複数のコード行が各値を取得します。 :/
は、ここでより良い代替手段です:
はキーマッピングを保持するために、あなたのPOJO内public final static class Keys
を定義します。 @JsonProperty
とユニットテストの両方でこれを使用することができます。ここでは例のPOJOだ:
// Example.java
public class Example {
public final static class Keys {
public final static String identifier = "id";
}
@JsonProperty(Keys.identifier)
private String mIdentifier;
public String getIdentifier() {
return mIdentifier;
}
}
欠点はKeys
がパブリック宣言されなければならないことを... Androidのドキュメントごとに、ユニットテストがprivate
アクセスを取り除くために仮定されているが、私は私のユニット内Keys
へのアクセスを得ることができません彼らが一般に公開されていない限り、 :/