我已经开发了一个web项目(struts2 + hibernate),我需要做代码覆盖。我不知道如何为这个Hibernate部分编写junit测试用例。任何人都可以建议我的想法。我希望我的测试用例检查我的数据库,如果我提供不在数据库中的输入,它应该通过错误。 我提前使用eclipse-indigo,Mysql数据库
package proj.dao.impl;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.googlecode.s2hibernate.struts2.plugin.annotations.SessionTarget;
import com.googlecode.s2hibernate.struts2.plugin.annotations.TransactionTarget;
import proj.dao.EmployeeDAO;
import proj.model.Employee;
public class EmployeeDAOImp implements EmployeeDAO{
@SessionTarget
Session session;
@TransactionTarget
Transaction transaction;
//return all the Employees in list
public List<Employee> listEmployee(){
return session.createQuery("from Employee").list();
}
}
EmployeeDAOImplTest.java
package proj.Test;
import static org.junit.Assert.*;
import org.junit.Test;
import proj.dao.EmployeeDAO;
import proj.dao.impl.EmployeeDAOImp;
public class EmployeeDAOImplTest {
@Test
public void testListEmployee() {
EmployeeDAO dbo = new EmployeeDAOImp();
assertTrue("There were no errors in Register", dbo.listEmployee().size()!=0);
}
}
仅此单独的测试用例
指向DAOImpl类中的实际listemployee方法的空指针异常