Junit4.1单元测试调整Spring
Junit4.1单元测试整合Spring
最近项目经理强调以后写代码必须写单元测试。
所以,为了巩固之前的知识,先写个实例单元测试的使用..
在测试之前需要准备Junit4.1.jar 和 spring-test.jar两个包引用到项目中。
下列是AbstractTest 具体的代码,所有的Test单元测试类都继承自AbstractTest 类,可以重写configLocations指定spring的测试文件。
import org.springframework.test.AbstractDependencyInjectionSpringContextTests; /** * 抽象单元测试类; * @author Adminsitrator * */ public abstract class AbstractTest extends AbstractDependencyInjectionSpringContextTests { protected String[] configLocations(){ return new String[]{"classpath:applicationContext.xml","classpath:applicationContext-test.xml"}; } @Override protected String[] getConfigLocations() { // TODO Auto-generated method stub return configLocations(); } }
下列是具体的测试类:
/** * @author Administrator * */ public class QueueManagerDAOTest extends AbstractTest{ private QueueManagerDao queueManagerDao; public void setQueueManagerDao(QueueManagerDao queueManagerDao) { this.queueManagerDao = queueManagerDao; } @Override protected String[] getConfigLocations() { //如果是指定绝对路径则配置 //file:D:/java/workspace/testProject/WebContent/WEB-INF/applicationContext.xml即可。 return new String[]{"classpath:applicationContext.xml","classpath:applicationContext-test.xml"}; } @Test public void testSearchPersonList(){ System.out.println("queueManagerDao--->>-->"+queueManagerDao); List<Person> personInfoList = queueManagerDao.queryAllObjects(IbatisKey.IBATIS_QUERY_ALL_PERSON); for(Personperson:personInfoList ){ System.out.println(person.getQmId()+","+person.getQmgrName()+","+person.getHostName()+","+person.getSvrConn()+","+person.getPort()); } } }
写完之后,在单元测试类中 右键->Run as ->Junit Test即可。