实践中的重构29_不自动的自动化测试
测试的精髓之一就是自动化。把一切可以自动化的东西都自动化起来,从而节约宝贵的人力,极大的提高效率。
看一个UnitTest的实现如下:
@Testpublic void test() {Date start = DayUtil.parseDate("20110101");Date end = DayUtil.parseDate("20110110");Map<Date, DayOrderStat> result = orderQueryService.queryUserOrderStat("normalUserId", start, end);result = orderQueryService.queryUserOrderStat("emptyUserId", start, end);result = orderQueryService.queryUserOrderStat("exceptionUserId", start,end);Assert.assertNotNull(result);}public interface OrderQueryService {/** * 按日查找用户的订单统计信息。 * * <pre> * 该方法划分日订单为以下情况: * 1 一日有订单,则返回正常的Day,DayOrderStat对。 * 2 一日无订单,则返回Day,null对。 * 3 一日订单系统异常,则结果中不包含该日的订单统计信息。 * </pre> * */public Map<Date, DayOrderStat> queryUserOrderStat(String userId,Date start, Date end);}