Lenient assertions(Unitils介绍三)

来源:互联网 发布:汽车维修结算单软件 编辑:程序博客网 时间:2024/04/29 17:39
顺序宽松(lenient order)
     List<Integer> myList = Arrays.asList(3, 2, 1);
     assertRefEquals(Arrays.asList(1, 2, 3), myList, LENIENT_ORDER); 
     简单明了,比较时不管 list中数值的顺序,只看总体是不是一样。

忽略默认值
    User actualUser   = new User("John", "Doe", new Address("First street", "12", "Brussels"));
    User expectedUser = new User("John",  null, new Address("First street", null,       null));
    assertRefEquals(expectedUser, actualUser, IGNORE_DEFAULTS);
    以上可以看出,默认值不会比较(这里是null),而且有默认值的对象放在assertRefEquals的第一个参数。

    Lenient dates
    这个看不大明白 

    assertLenEquals
    集成了忽略默认值 和 宽大顺序两种功能。

    Property assertions(属性断言)
    assertPropertyLenEquals("id", 1, user);
    assertPropertyLenEquals("address.street", "First street", user);
    第一个参数是第三个参数的成员变量,第二个值是成员变量的期待值。