簡體   English   中英

JUnit5 Assert List 類似的 Object 相等

[英]JUnit5 Assert List of similar Object are equal

我需要測試將對象列表映射到另一個對象列表的方法層,例如從我們無法控制的對象列表轉換為我們可以控制的對象列表。 我無法使用 equals() 進行比較,因為對象屬於不同類型,但我需要測試列表和 object 值是否正確映射。

我目前的實現是:

    public void test {
        // GIVEN
        List<T1> l1 = api.getData();
    
        // WHEN
        List<T2> l2 = getList();
    
        // THEN
        assertEquals(l1.size(), l1.size());

        for(int i = 0; i < l1.size(); i++) {
            assertEquals(l1.get(i).getVal1(), l2.get(i).getVal1());
            assertEquals(l1.get(i).getVal2(), l2.get(i).getVal2());
            assertEquals(l1.get(i).getVal3(), l2.get(i).getVal3());
            ...
            
        }

    
    }

我是單元測試的新手。 有沒有更好的方法來構建這個測試?

你可以像這樣使用assertj庫:

import static org.assertj.core.api.Assertions.assertThat;
...
assertThat(l2).usingElementComparatorOnFields("val1", "va2", "val3").containsExactlyElementsOf(l1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM