最近项目经理强调以后写代码必须写单元测试。
所以,为了巩固之前的知识,先写个实例单元测试的使用..
在测试之前需要准备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即可。