关闭

持续集成+单元测试实践(上)

发表于:2010-5-11 13:41

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:woodbird(Javaeye)    来源:51Testing软件测试网采编

  单元测试实践

  1.测试框架选择Unitils

  为什么选择Untils作为本次项目单元测试框架呢?

  Unitils的优点和介绍网上都比较详细:http://www.unitils.org/summary.html;它的主要模块有:

  · DatabaseModule: 测试数据库维护和连接池

  · DbUnitModule: 使用DBunit进行测试数据维护

  · HibernateModule: Hibernate配置支持和自动的数据库mapping检查

  · MockModule: 支持使用Unitils的mock框架进行mock创建

  · EasyMockModule: 支持使用EasyMock的mock框架进行mock创建

  · InjectModule: 支持注入mock对象到其他对象中

  · SpringModule: 支持载入Spring配置文件、检索或注入Spring Beans

  本次项目并没有全部用到它的所有特性,其中我使用到的优秀特性和功能有:

  · 为Spring集成的单元测试提供很好的解决方案

  · 数据库相关测试的数据准备,事务回滚

  · 简单方便的Assert工具

  2.在测试中使用Unitils

  方法一.  继承UnitilsJUnit4

  方法二.  在测试类上添加annotation:@RunWith(UnitilsJUnit4TestClassRunner.class)

  方法三.  拷贝UnitilsJUnit3(UnitilsJUnit4)的代码生成一个MyUnitilsJunit3,然后测试类继承这个类。这种方法的好处是MyUnitilsJunit3可以随意继承一个Junit3 TestCase 的子类,比如:   AbstractDependencyInjectionSpringContextTests,从而可以更加方便的加入自己需要的功能。

  3.使用Unitils进行Spring集成的单元测试

  在基类中设置公用的Spring 配置

@SpringApplicationContext( {"/bean/profile/base-beans.xml"})
public class DAOTestBase  extends UnitilsJUnit4{
 
}
 
子类中特殊化的Spring配置
public class UserDAOTest extends DAOTestBase{
 
             @SpringApplicationContext( {"/bean/profile/base-beans.xml","/bean/profile/extra-beans.xml"})
protected ApplicationContext applicationContext;
 
@SpringBean("userDAO")
private UserDAO userDAO;
 
@SpringBeanByName
private UserDAO userDAO;
 
@SpringBeanByType
private UserDAO userDAO;
 
}

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号