我只想知道是否有最佳實踐或常用方法來測試對象中的等式實現。我的意思是已被覆蓋的測試方法。等於方法的Junit
public boolean equals(Object o)
我確實使用了這樣的邏輯。 (假設號碼和姓名必須等於獲得真正的)
Dog d1 = new Dog(1,"Alvin");
Dog d2 = new Dog(2,"Alvin");
Assert.assertFalse(d1.equals(null));
Assert.assertFalse(d1.equals(d2));
d2.setId(1);
d2.setName("Kelvin");
Assert.assertFalse(d1.equals(d2));
d2.setName("Alvin");
Assert.assertTrue(d1.equals(d2));
Assert.assertTrue(d1.equals(d1));
但是,當有很多領域的這個任務是非常大的,枯燥的,所以我的問題是,如果有任何框架,工具,選項,任何使這一點變得更容易,並可以證明該方法已被正確覆蓋的東西。謝謝。
我知道,重寫方法equals取決於你需要的邏輯,而且測試用例的創建是,所以尋找一種標準的方法來測試避免測試用例中的大代碼的方法,如果存在明顯或任何建議你可能有。
[自動檢查equals,hashCode和compareTo的一致性的技術的可能的重複](http://stackoverflow.com/questions/9624043/technique-to-automatically-check-consistency-of-equals-hashcode-和-to比較) – Joe
在我發現我的答案那裏我的問題只是關於平等,但指向我,讓我找到我發佈的答案。 – Koitoer