Мой запрос на отдых услуги:Mocking restTemplate getForObject
Price[] prices = restTemplate.getForObject("https://sbk02.test.sparebank1.no/sbk/rest/poc1/prices", Price[].class);
Я пытаюсь дразнить его, но есть нулевые взаимодействия с издеваться. Мой тестовый код:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={ "classpath:/spring/engine.xml", "classpath:/spring/beans.xml"})
@TestExecutionListeners({DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class, DirtiesMocksTestContextListener.class})
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
public class LabbOgLineProcessTest{
@InjectMocks
private PriceService priceServiceMock;
@Mock
private RestTemplate template;
@Before
public void initMocks() throws Exception {
MockitoAnnotations.initMocks(this);
}
@Test
public void complete_AllTasks_success() throws Exception{
when(template.getForObject(eq(PRICES_NAMESPACE), eq(Price[].class))).thenReturn(prices);
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("process");
verify(template, times(1)).getForObject(PRICES_NAMESPACE, Price[].class);
}
}
Попробуйте насмешливый интерфейс 'RestOperations' вместо класса' RestTemplate'. Кроме того, уверены ли вы, что шаблон правильно вводится в PriceService? Кроме того, попробуйте использовать 'eq (...)' или 'any()' с аргументами проверки. Кроме того, можете ли вы опубликовать код PriceService? – ESala
Я думаю, вы должны вызывать 'priceServiceMock' вместо' runtimeService' – Ruben