如何测试道?

时间:2014-04-08 13:32:46

标签: testing junit dao

我有一个方法,它返回给定id权限

的组列表
public List<Group> showGroups(int CompetenceId) {

Query query = entityManager.createQuery("from Group where competence_id = :id");
query.setParameter("id", CompetenceId);
List<Group> groups = query.getResultList();

return groups;
}

如何测试此方法?

2 个答案:

答案 0 :(得分:1)

使用明确定义的数据集填充数据库,然后调用您的方法,并根据明确定义的数据集查看它返回的组列表是否应该返回。

无耻插件:DbSetup是一个很酷的免费开源库,有助于在执行测试之前设置数据库。

答案 1 :(得分:0)

你必须使用Easy Mock来创建模拟类,如果你在代码中弹出,那么你将不得不用

注释测试类
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:config/config.xml")

对于DAO课程来说,这似乎是一个很难的方法。

第二个选项是覆盖JUNit本身的DAO框架。

    JdbcTemplate template = new JdbcTemplate() {
        public int update(String sql)
        {
            return 1;
        }
    };
    dao.setJdbcTemplate(template);

如上所示,在JdbcTemplate的情况下,你必须在hibernate中为Criteria Queries做这件事。