TestNG Assert 对List的支持

来源:互联网 发布:计算注册码软件 编辑:程序博客网 时间:2024/06/05 20:59

public class RiskLabelHelper {    public static Set<String> getRiskLabel(String type) {        return null;    }    @Test    public void testAssert() {        Set<String> aa = new HashSet<String>();        Set<String> bb = new HashSet<String>();        aa.add("11");        aa.add("22");        bb.add("22");        bb.add("11");        //        bb.add("33");        Assert.assertEquals(aa, bb);        List<List<String>> cc = new ArrayList<List<String>>();        List<String> ee = new ArrayList<String>();        ee.add("11");        ee.add("22");        List<String> ff = new ArrayList<String>();        ff.add("aa");        ff.add("bb");        cc.add(ee);        cc.add(ff);        List<List<String>> dd = new ArrayList<List<String>>();        List<String> gg = new ArrayList<String>();        gg.add("11");        gg.add("22");        List<String> hh = new ArrayList<String>();        hh.add("aa");        hh.add("bb");        dd.add(hh);        dd.add(gg);        Assert.assertEquals(cc, dd);    }}

第一个比较 Assert.assertEquals(aa, bb); 返回true,说明对象String顺序对list 无影响。

第二个比较Assert.assertEquals(cc, dd); 返回false,说明对象List<String>顺序对list有影响。

报错为 

FAILED: testAssert

java.lang.AssertionError: Lists differ at element [0]: [aa, bb] != [11, 22] expected [[aa, bb]] but found [[11, 22]]

猜测其原因,应该为List<String> 被转换成数组进行比较了,数组的顺序为固定的。


0 0
原创粉丝点击