JUnit assertEquals 两个对象或集合类型

参考:

http://stackoverflow.com/questions/6060848/junit-assertequals-fails-for-two-objects

http://www.51testing.com/html/87/395287-233341.html


对于两个自定义类型MyObjClass对象,使用JUnit时,是否可以用下面的方式判断它们的内容相同呢?

assertEquals(obj1, obj2)

答案是:如果MyObjClass类重载了下面的函数,则是可以的。否则不可预期

@Overrid
public boolean equals(Object other)

同理,是否可以这样比较两个Map内容是否相同呢?

assertEquals(map1, map2)

答案是:如果Map中的对象的类重载了上面的函数,则是可以的。否则不可预期


比如Dog类重载equals() 方法如下:

public class Dog {
	public int age;
	
	public boolean equals(Object o) {
		if (o instanceof Dog) {
			return (age == o.age);
		}
		
		return false;
	}
}



你可能感兴趣的:(JUnit assertEquals 两个对象或集合类型)