package com.lijun.unitils;
import java.util.Calendar;
import org.junit.Test;
import static org.unitils.reflectionassert.ReflectionAssert.*;
import static org.unitils.reflectionassert.ReflectionComparatorMode.*;
/**
* Unitils断言
* 比较对象
* 1. assertReflectionEquals(期望值,实际值,比较级别):反射断言,为我们提供了各种级别的比较断言
* (
* ReflectionComparatorMode.LENIENT_ORDER:忽略要断言集合collection或者array中元素的顺序
* ReflectionComparatorMode.IGNORE_DEFAULTS:忽略默认值,如引用类型为null,整型类型为0,断言忽略这些值的比较
* ReflectionComparatorMode.LENIENT_DATES:比较两个实例的Date是不是都被设置了值或者为null,而忽略Date的值是否相等
* )
* 2. assertLenientEquals:断言,既忽略顺序又忽略默认值的断言
* 比较属性
* 1. assertPorpertyReflectionEquals
* 2. assertPorpertyLenientEquals
*
*/
public class AssertReflectionEqualsTest {
@Test
public void testReflection() {
User user1 = new User("tom","1234");
User user2 = new User("tom","1234");
assertReflectionEquals(user1, user2);
}
Integer[] orderList1 = new Integer[]{1,2,3};
Integer[] orderList2 = new Integer[]{3,2,1};
@Test
public void testLenient() {
//测试两个数组的值是否相等,忽略顺序
assertReflectionEquals(orderList1, orderList2, LENIENT_ORDER);
assertLenientEquals(orderList1, orderList2);
//测试两个对象的值是否相等,忽略时间值是否相等
User user1 = new User("tom","1234");
Calendar cal1 = Calendar.getInstance();
user1.setLastVisit(cal1.getTime());
User user2 = new User("tom","1234");
Calendar cal2 = Calendar.getInstance();
cal2.set(Calendar.DATE, 15);
user2.setLastVisit(cal2.getTime());
assertReflectionEquals(user1, user2, LENIENT_DATES);
//assertLenientEquals(user1, user2);
}
public void testProperty() {
User user = new User("tom","1234");
assertPropertyReflectionEquals("userName", "tom", user);
assertPropertyLenientEquals("lastVist", null, user);
}
}
分享到:
相关推荐
NULL 博文链接:https://mshijie.iteye.com/blog/524744
Unitils框架与模块扩展Unitils这个Java开源包的目的是让单元测试变得更加...1,JUnit4ClassRunner简介所有的测试方法testmethod都是在Runner下执行的,可以将Runner理解为junit运行的容器,默认情况下junit会使用JUnit4
Unitils 模块 - 启动 Selenium Web 驱动程序以测试 Web 应用程序的简单方法。
改资源配准测试,使用的unitils+dbUtils的结合使用的。
16.6 使用unitils测试Service层 16.7 测试Web层 16.7.1 对LoginController进行单元测试 16.7.2 使用Spring Servlet API模拟对象 16.7.3 使用Spring RestTemplate测试 16.7.4 使用Selenium测试 16.8 小结 第17章 实战...
16.6 使用unitils测试Service层 16.7 测试Web层 16.7.1 对LoginController进行单元测试 16.7.2 使用Spring Servlet API模拟对象 16.7.3 使用Spring RestTemplate测试 16.7.4 使用Selenium测试 16.8 小结 第17章 实战...
它的主要模块有:·DatabaseModule:测试数据库维护和连接池·DbUnitModule:使用DBunit进行测试数据维护·HibernateModule:Hibernate配置支持和自动的数据库mapping检查·MockModule:支持使用Unitils的mock框架进行...
第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的JUnit4+Unitils+ Mockito复合测试框架对如何测试数据库、Web的应用进行了深入的讲解。 第17章:以一个实际的项目为蓝本,带领读者从项目需求分析、...
第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的JUnit4+Unitils+ Mockito复合测试框架对如何测试数据库、Web的应用进行了深入的讲解。 第17章:以一个实际的项目为蓝本,带领读者从项目需求分析、...
样本 Spock 测试 使用 使用 Unitils(请注意,Unitils 不会重用 Spring 上下文中的数据源 - 请参阅 )带有大量示例的!贡献有例子分享吗? 我总是对拉取请求持开放态度。 :-)
是的,您可以拍打另一层抽象,例如Unitils,但这是...这种琐碎任务的另一层抽象。 或者,您可以仅将TestNG与更简单的侦听器一起使用,但是如果必须使用JUnit,该怎么办:例如,以基于JUnit的“ Spock”为例。 ...