以下是方法的示例:
public <T> T save(final T o){
return (T) sessionFactory.getCurrentSession().save(o);
}
public <T> T get(final Class<T> type, final Long id){
return (T) sessionFactory.getCurrentSession().get(type, id);
}
public <T> List<T> getFieldLike(final Class<T> type, final String propertyName,
final String value, final MatchMode matchMode) {
final Session session = sessionFactory.getCurrentSession();
final Criteria crit = session.createCriteria(type);
crit.add(Restrictions.like(propertyName, value, matchMode));
return crit.list();
}
关于单元测试或集成测试有什么技巧吗?通过模拟 session 吗?
最佳答案
在单元测试中您唯一可以做的就是模拟 session 和标准并设定期望 - 我已经使用 JMock 在一些情况下完成了此操作,最终不得不为限制编写 Hamcrest 匹配器。除了盲目增加测试覆盖率之外,我不相信它有多大值(value)。
另一方面 - 在这里编写集成测试肯定有用,使用一些数据设置内存数据库并断言方法返回正确的对象
关于java - 单元/集成测试由通用方法组成的 dao,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9375914/