Java 如何使用JUnit和Hamcrest测试.equals()方法

Java 如何使用JUnit和Hamcrest测试.equals()方法,java,junit4,hamcrest,Java,Junit4,Hamcrest,我有一个类列表(编辑:我自己写的),带有List.equals方法,所以我想运行 List list1 = new List(); List list2 = new List(); assertTrue(list1.equals(list2)); 所以我想也许是用matchers和assertThat assertThat(list1.equals(list2), is(true)); 但这变得相当愚蠢…编辑:也许我可以写我自己的匹配器 有没有更好的方法来检查我的equals方法是否正常工作

我有一个类列表(编辑:我自己写的),带有List.equals方法,所以我想运行

List list1 = new List();
List list2 = new List();
assertTrue(list1.equals(list2));
所以我想也许是用matchers和assertThat

assertThat(list1.equals(list2), is(true));
但这变得相当愚蠢…编辑:也许我可以写我自己的匹配器

有没有更好的方法来检查我的equals方法是否正常工作


这是JUnit4.5中最简单的方法。

问题是关于Hamcrest的。如果这个断言失败,消息会非常复杂。这就是我需要的,它会自动调用.equals方法,我没有意识到这是一个选项。
matcher也是
equalTo
的同义词。
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.MatcherAssert.assertThat;    

...

assertThat(list1, equalTo(list2));