我已经开发了一个 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 方法的空指针异常