如何对具有相同数据的不同类的两个对象进行单元测试?

时间:2016-03-26 01:11:12

标签: java unit-testing testing junit

我有两个具有相同字段的对象。我想比较那些对象字段的值。如何使用Junit做到这一点?

public class DeviceDTO {

private String id;

并且

public class DeviceData {
private String id;

我想比较这些对象的字段值。

3 个答案:

答案 0 :(得分:3)

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

其中myDeviceDTO是DeviceDTO类的实例,myDeviceData是DeviceData类的实例。

答案 1 :(得分:0)

如果您没有访问者,则必须使用反射。

您可能想要使用reflection assertunitils库的模块。看一下ReflectionAssert的javadoc。

答案 2 :(得分:0)

像雷内建议的那样。我使用了模块单元并为我工作:

使用assertReflectionEquals(obj1,obj2)

如果使用maven,则应将此依赖项添加到项目的pom.xml中。

<dependency>
<groupId>org.unitils</groupId>
<artifactId>unitils-core</artifactId>
<version>3.4.2</version>
<scope>test</scope>
</dependency>