我正在爲我的java項目編寫JUnit測試用例,並使用Coverage Tool檢查代碼行是否覆蓋。問題是:我有兩個對象列表。我需要使用assertTrue或任何其他可能的斷言語句來比較對象的結果。通過使用下面的assert語句,我得到了像斷言錯誤一樣的錯誤。有什麼解決方案可以輕鬆比較兩個列表嗎?比較JUnit中的兩個對象列表
//actual
List<ProjectData> actuals = ProjectManagerDao.getProjects("x", "y", "z");
// expected
List<ProjectData> expecteds = new ArrayList<>();
ProjectData p1 = new ProjectData();
p1.setId("a");
p1.setName("b");
expecteds.add(p1);
assertTrue(JsonProvider.getGson().toJson(actuals).equalsIgnoreCase(JsonProvider.getGson().toJson(expecteds)));
//or
assertTrue(actuals.equalIgnoreCase(expeteds);//Not working for list of objects but working for comparing two strings
這不同於Java Compare Two Lists中,我需要能夠斷言平等JUnit中,不只是對比列表。
感謝您的評論,但我需要使用JUnit的斷言語句不比較2所列出Java .. –
只需將比較結果分配給'boolean',然後對其進行斷言。 –
讓我試試,但你可以顯示如何? –