2017-11-28 18 views
0

mockitoまたはhamcrestと比較する2種類のオブジェクトを比較することは可能ですか?たとえば、以下に私のオブジェクトの例を示します。オブジェクトのプロパティの値を比較しますが、オブジェクトのタイプを比較しません

をObjectA:

public class ObjectA { 
    private Long id; 
    private String name; 
    private AddressA address 
    // getters and setters 
} 

をObjectB:

public class ObjectB { 
    private Long id; 
    private String name; 
    private AddressB address 
    // getters and setters 
} 

オブジェクトADDRESSAとAddressBは、同じ名前のプロパティでもありますが、唯一異なる種類。それは可能ですか?はいの場合はどうですか?ありがとう。 `; hamcrest APIを使用して

答えて

1

、あなたは正直なところ

ObjectA A = new ObjectA(1, "ABC", new AddressA("jkl")); 
ObjectB B = new ObjectB(1, "PQR", new AddressB("xyz")); 

assertThat(A, hasProperty("id", equalTo(B.getId()))); 
assertThat(A, hasProperty("name", equalTo(B.getName()))); 
assertThat(A.getAddressA(), hasProperty("address", equalTo(B.getAddressB().getAddress()))); 
+0

に従うことによってそれを達成することができ、どのようにこの良く読み、その後'のassertEquals(A.getId()、B.getId())とは? –

+0

さて、OPは両方のオブジェクトにプロパティが存在していることを確認したかったので、あなたの 'assert'は値が等しいことを確認します。 –

関連する問題