對於兩個自訂類型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 兩個物件或集合類型的內容,更多相關內容請關注PHPcn)!