When I run the test it shows the given error which I gave below.
It shows Missing Method Invocation Exception Error. But I use that method in that test.
I use Mockito to inject mockito.
If anyone can solve this please help me.
Entity
public class VesselInfo {
private Long vesselId;
private String ownerName;
}
Service
@Service
public class VesselService {
public List<VesselInfo> prepareMockVesselList(){
List<VesselInfo> vesselMockDataList = new ArrayList<>();
VesselInfo vesselInfo = new VesselInfo();
vesselInfo.setVesselId(1L);
vesselInfo.setOwnerName("Abdul Malek");
}
public List<VesselInfo> findVesselByOwnerNid(String ownerNid){
List<VesselInfo> vesselMockDataList = new ArrayList<>();
vesselMockDataList = prepareMockVesselList();
List<VesselInfo> result = new ArrayList<>();
for(VesselInfo vesselInfo : vesselMockDataList){
if(vesselInfo.getOwnerNID().equals(ownerNid)){
//return vesselInfo;
result.add(vesselInfo);
}
}
return result;
}
}
Test
@SpringBootTest(classes = SurveyServiceTest.class)
public class VesselServiceTest {
@InjectMocks
VesselService vesselService;
@Test
public void findVesselByOwnerNidTest(){
// with valid Nid
List<VesselInfo> vesselInfoList = new ArrayList<>();
VesselInfo vesselInfo = new VesselInfo();
vesselInfo.setOwnerNID("12341654565");
VesselInfo vesselInfo1 = new VesselInfo();
vesselInfo1.setOwnerNID("455454455");
vesselInfoList.add(vesselInfo);
vesselInfoList.add(vesselInfo1);
when(vesselService.findVesselByOwnerNid("12341654565")).thenReturn(vesselInfoList);
}
}