Ich habe eine Methode, die ich versuche, mit Mockito zu testen. Unten ist die Methode, die ich versuche zu testen. Ich erhalte eine Nullzeiger-Ausnahme, wenn ich meinen Test ausführe. Ich spotte Root, aber bei accountEntity.get bekomme ich null Zeiger. Was fehlt mir hier?Kriterien Abfrage Mockito Unit Test - NullPointerException
public List<AccountEntity> createCriteriaQuery(final List<String> accountIdList,
final MultiValueMap<String, String> allRequestParams) {
final CriteriaBuilder cb = entityManager.getCriteriaBuilder();
final CriteriaQuery<AccountEntity> cq = cb.createQuery(AccountEntity.class);
final Root<AccountEntity> accountEntity = cq.from(AccountEntity.class);
final Join<AccountEntity, PlanEntity> account = accountEntity.join(AccountEntity_.planEntity);
final List<Predicate> predicates = new ArrayList<Predicate>();
//Getting null pointer at the below call.
**predicates.add(accountEntity.get(AccountEntity_.id).in(accountIdList));**
/*remaining code here/
unten ist mein Test.
@InjectMocks
private AccountsDAO accountsDao;
@Mock
EntityManagerFactory entityManagerFactory;
@Mock
EntityManager entityManager;
@Mock
CriteriaBuilder cb;
@Mock
CriteriaQuery<AccountEntity> cq;
@Mock
Root<AccountEntity> rootAccountEntity;
@Test
public void canGetAllAccountsInfo() {
when(entityManagerFactory.createEntityManager()).thenReturn(entityManager);
when(entityManager.getCriteriaBuilder()).thenReturn(cb); when(cb.createQuery(AccountEntity.class)).thenReturn(cq);
when(cq.from(AccountEntity.class)).thenReturn(rootAccountEntity);
//Null pointer in the actual method call
accountEntityList = accountsDao.createCriteriaQuery(accounIdList, allRequestParams);
}
Ich habe das versucht, immer noch das gleiche Problem. – Arun