Я пытаюсь частично смоделировать службу, используя Spy от Mockito, переопределяя метод, чтобы он возвращал непротиворечивые данные для тестирования, но сказал, что шпион генерирует исключение UnfinishedStubbingException без видимой причины.
Это мой тестовый класс:
@SpringBootTest
@RunWith(SpringRunner.class)
public class ApplicationIT {
private CompletableFuture<JobList> jobList;
@SpyBean
private Service serviceSpy;
@Before
public void setUp() {
initMocks(this);
jobList = new CompletableFuture<>();
jobList.complete(jobList.newBuilder()
.addAllJobs(jobTestData.getTestJob().getJobs()).build());
Mockito.doReturn(jobList).when(serviceSpy).fetchJob();
Mockito.doNothing().when(serviceSpy).reportSuccess(Mockito.any());
}
@Test
public void fetchJobCallTest() {
Mockito.verify(serviceSpy, timeout(60000).atLeastOnce()).fetchJob();
}
@Test
public void reportSuccessCallTest() {
Mockito.verify(serviceSpy, timeout(60000).atLeastOnce()).reportSuccess(Mockito.any());
}
}
Оба теста не пройдены: org.mockito.exceptions.misusing.UnfinishedStubbingException
указывает на Mockito.doReturn(jobList).when(serviceSpy).fetchJob();
при Mockito.doNothing().when(serviceSpy).reportSuccess(Mockito.any());