测试DAO和Service / Spring

时间:2015-04-04 19:08:56

标签: java spring unit-testing

Stackoverflow已经提出了这个问题,但我还没有找到答案。我无法理解如何测试(单元)我的DAO和服务层(你将能够找到我想在下面测试的方法)。因此,关于DAO测试有两个相反的概念:一个是根本不测试它,另一个是仅用内存数据库测试它。至于服务层,有意思是只有在具有业务逻辑的情况下才应该测试方法。所以,坦率地说,我甚至无法想象该做什么,因为我不确定哪种方式是正确的。在我最后一个宠物项目中,我通过仅使用jUnit测试DAO(检测saveEntity()):我显式创建实体,填充它,使用DAO方法保存它,检索它时,断言结果并从数据库中显式删除对象。我确信这不是测试它的正确方法。所以,请看一下下面的代码,并给我一个如何正确测试这些图层方法的建议:

DAO

@Override
public void saveEntity(Artist entity) throws ConstraintViolationException {
    sessionFactory.getCurrentSession().save(entity);
}

服务

@Transactional
@Override
public void saveEntity(Artist entity) throws ConstraintViolationException {
    artistDAO.saveEntity(entity);
}

我想和Mockito一起做,但我发现的所有例子与我的情况都不相似。 感谢您提出任何想法。

0 个答案:

没有答案