【发布时间】:2017-04-21 00:06:55
【问题描述】:
在我正在进行的一个项目中,我使用 Hibernate 与数据库进行交互。我正在尝试测试 Hibernate 类中的方法。我遇到了两件事。
1. Mockito
2. H2-In Memory for testing
这是我的课
UserDAOImpl.java
public class UserDAOImpl implements UserDAO {
public static final Logger LOG = LoggerFactory.getLogger(UserDAOImpl.class);
private static Session session;
private static void beginSession() {
session = DbUtils.getSessionFactory().openSession();
session.beginTransaction();
}
@Override
public void addUser(String username, String password) {
User user = new User(username, password);
beginSession();
session.save(user);
session.getTransaction().commit();
session.close();
}
}
对上面的类进行测试,这是一个很好的方法。 我应该使用模拟来编写 Junit 测试还是使用内存数据库进行测试。 我不想用我用于开发的数据库来测试它,因为测试用例会破坏它。
【问题讨论】:
标签: java hibernate unit-testing junit