2016-03-26 8 views
0

私は、同じフィールドを持つ2つのオブジェクトを持っています。これらのオブジェクトフィールドの値を比較したいと思います。どのようにJunitを使用してそれを行うには?同じデータを持つ異なるクラスの2つのオブジェクトを単体テストする方法は?

public class DeviceDTO { 

private String id; 

そして

public class DeviceData { 
private String id; 

私はそれらのオブジェクトのフィールドの値を比較したいです。

答えて

3
Assert.assertEquals(myDeviceDTO.getId,myDeviceData.getId); 

ここで、myDeviceDTOはDeviceDTOクラスのインスタンスで、myDeviceDataはDeviceDataクラスのインスタンスです。

+0

申し訳ありません。これらのオブジェクトには多くのフィールドがあります。私はそれらのすべてを比較することはできません。私はちょうど2つの異なるオブジェクトを比較するとにかくあることを確認したいです。 – vamsi

+0

私は、オブジェクト[]の配列を出力する各オブジェクトにメソッドを作成して、比較するオブジェクトの各フィールドに対してメソッドを作成することができるとします。その後、assertArrayEqualsを使用できます。 – neal

0

アクセサーをお持ちでない場合は、リフレクションを使用する必要があります。

reflection assertを使用します。ライブラリunitilsのモジュール。 javadocのReflectionAssertを見てください。

0

Reneのように提案されています。私はunitilsモジュールを使って私のために働いた:

使用assertReflectionEquals(obj1,obj2)

mavenを使用する場合は、この依存関係をプロジェクトのpom.xmlに追加する必要があります。

<dependency> 
<groupId>org.unitils</groupId> 
<artifactId>unitils-core</artifactId> 
<version>3.4.2</version> 
<scope>test</scope> 
</dependency> 
関連する問題