У меня такой запрос:
final String namedQueryName = Report.QUERY_NAME_FIND_BY_ENTITY;
final Query query = getEntityManager().createNamedQuery(namedQueryName);
query.setParameter("pEntityName", entityName);
, который работает нормально, однако, в качестве хорошей практики я хотел бы использовать TypedQuery, поэтому я изменил его на:
final String namedQueryName = Report.QUERY_NAME_FIND_BY_ENTITY;
final TypedQuery<Report> query = getEntityManager().createNamedQuery(namedQueryName, Report.class);
query.setParameter("pEntityName", entityName);
теперь, когда я запускаю тесты junit с mockito, getEntityManager () ... возвращает ноль.
@Mock
private static TypedQuery<Report> query;
@Test
public void findByEntity_empty() {
when(entityManager.createNamedQuery(Report.QUERY_NAME_FIND_BY_ENTITY)).thenReturn(query);
when(query.setParameter("pEntityName", "NOTHING")).thenReturn(query);
List<Report> reportsDB = new ArrayList<>();
when(query.getResultList()).thenReturn(reportsDB);
assertEmpty(reportDAO.findByEntity("NOTHING"));
}
Почему getEntityManager().createNamedQuery(namedQueryName, Report.class);
возвращает ноль вместо создания запроса?
У вас есть идеи?