TypedQuery выбрасывает ноль, в то время как Query работает нормально - PullRequest
0 голосов
/ 08 ноября 2018

У меня такой запрос:

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); возвращает ноль вместо создания запроса?

У вас есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...