Spring中进行测试-Junit框架的扩展
利用Spring来进行测试。首先看看下面几个类。【参照网上的资料】
1.AbstractSpringContextTests 类是针对所有测试情景的类,一般不使用,而是使用他们的之类。
2.AbstractDependencyInjectionSpringContextTests 类继承了AbstractSpringContextTests类是一个针对所有测试的超类,具体依赖于Spring上下文。可支持依赖注入。
3.AbstractTransactionalSpringContextTests 类继承了AbstractDependencyInjectionSpringContextTests类,继承该类的测试用例在spring管理的事务中进行,测试完后对数据库的记录不会造成任何影响。你对数据库进行一些操作后,它会自动把数据库回滚,这样就保证了你的测试对于环境没有任何影响。
测试用例需实现protected abstract String[] getConfigLocations()方法来获取上下文。
1.创建一个测试类的基类
/** * Spring测试的基类 * * @author ChenST * */ public abstract class BaseSpringTest extends AbstractDependencyInjectionSpringContextTests { /** * 获取上下文spring context,该路径是在classpath下的路径 */ public String[] getConfigLocations() { String[] configLocations = { "applicationContext.xml" }; return configLocations; } }
2.测试用例
/** * 测试用例,测试Dao的方法getUserInfo(String userCode) * * @author ChenST * */ public class UsersDaoTest extends BaseSpringTest { /** 用户Dao,注入实现 */ private UsersDAO userDao; public void setUserDao(UsersDAO userDao) { this.userDao = userDao; } /** * 测试getUserInfo()方法,需要以test开头 */ public void testGetUserInfo(){ Users user=userDao.getUserInfo("004"); System.out.println(user.getDepartment().getDepName()); } }
可通过MyEclipse中的Outline透视图中进行单个方法的测试或者整个类的测试。