Junit — требуется помощь для написания Junit для приведенного ниже кода [дубликат]JAVA

Программисты JAVA общаются здесь
Anonymous
Junit — требуется помощь для написания Junit для приведенного ниже кода [дубликат]

Сообщение Anonymous »

Я пытаюсь написать junit для приведенного ниже кода и застрял.

Код: Выделить всё

public List
 getBEntityId(List gBEntities, BigInteger partId) {
List partGEntityList = new ArrayList();
if(!CollectionUtils.isEmpty(gBEntities)) {
gBEntities.forEach(gBEntityDTO -> {
PartGEntity partGEntity = createPartGEntity(
statClient.getBEntityByAnetId(gBEntityDTO.getAnetId()));
partGEntity.setPartyId(partyId);
partGEntityList.add(partGEntity);
});
}
return partGEntityList;
}
Для этого я написал приведенный ниже junit. Но он не работает.

Код: Выделить всё

BEntityDTO bEntityByAnetId = new BEntityDTO();
bEntityByAnetId.setAnetId("5738");
bEntityByAnetId.setEffectiveDate(new Date());
when(statClient.getBEntityByAnetId("5738")).thenReturn(bEntityByAnetId);
when(partGEntityDS.getBEntityId(newBEntityList,partId)).thenReturn(partGEntityList);
Я издеваюсь над statClient, как указано выше. Но при выполнении тестовых случаев я получаю нулевой указатель в строке ниже

Код: Выделить всё

createPartGEntity(statClient.getBEntityByAnetId(gBEntityDTO.getAnetId()));
При выполнении statClient. Я также сделал отладку здесь. Постарался оценить каждое выражение. оценивая выражение gBEntityDTO.getAnetId(), я получаю правильный результат. Но при попытке оценить всю эту строку (statClient.getBEntityByAnetId(gBEntityDTO.getAnetId()))) получаю исключение нулевого указателя. Не могу решить эту проблему. Как я уже сделал издевательство выше. Но до сих пор не могу понять, почему нулевой указатель.
Любая помощь по этому вопросу очень ценится.

Заранее спасибо

Подробнее здесь: https://stackoverflow.com/questions/788 ... below-code

Вернуться в «JAVA»