我正在编写Mockito测试用例,但在此测试用例中有一些问题

时间:2020-07-20 06:50:53

标签: junit mockito

这是我的getProducts方法,我遇到了一些问题

@Override
public List<Map<String, Object>> getProducts() {
    return hibernateUtil.getSession().getNamedQuery("product_code")
            .setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE).list();
}

1 个答案:

答案 0 :(得分:0)

@Test
public void getProductsTest(){
    Mockito.when(hibernateUtil.getSession()).thenReturn(session);
    Mockito.when(hibernateUtil.getSession().getNamedQuery("product_code")).thenReturn(query);
    when(query.setParameter("product_code", "123")).thenReturn(query);
    when(query.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE)).thenReturn(query);
    List<Map<String, Object>> list = new ArrayList<>(); 
    Map<String, Object> map = new HashMap<>();
    map.put("reportObjId", "123");
    list.add(map);   
    Mockito.when(query.list()).thenReturn(list);  
    assertEquals(list,AuditScheduleDaoImplMock.getProducts()); 
}