当我已经用Junit测试了Facade时,有必要测试DAO类吗



im目前正在测试基于本教程的JSF Web应用程序。https://www.javacodegeeks.com/2012/07/full-web-application-tomcat-jsf.htmlFacade使用DAO方法控制事务。

DAO JUnit测试会是什么样子?当我测试Facade时,我甚至必须测试它们吗?这是我如何测试立面方法的一个例子

谢谢你的帮助!

@Test
public void newUserTest() {
User user = new User ();
userDAO.beginTransaction();
user.setUsername("Test");
user.setPassword("123");
userDAO.save(user);
User user 2 = adminDAO.findUserWithUsername(admin.getUsername());
assertEquals("Test", user2.getUsername());
userDAO.rollback();
userDAO.closeTransaction(); 
}

是的,您需要为DAO编写测试。它更多的是与数据库的集成测试。对每一行代码进行测试总是更好的。

理想情况下,在Facade中,它应该是一个单元测试,您只需验证是否使用正确的参数调用了DAO。

最新更新