Я использую FeignClient для связи между микросервисами. Я хочу протестировать один микросервис без запуска другого, поэтому мне нужно как-то эмулировать его ответы. В это время я издеваюсь над feignClient. Однако правильно ли это для имитации ответов FeignClient в этой ситуации?
Мой фиктивный клиент:
@FeignClient(name="shortestPath", url="http://localhost:5000")
public interface GraphFeignClient {
@PostMapping(path="/short")
public List<Integer> getShortestPath(@RequestParam("source") int source,
@RequestParam("target") int target,
@RequestBody Graph graph);
}
Мой тест:
@SpringBootTest
public class GraphJsonApplicationTests {
@Mock
GraphFeignClient graphFeignClient;
@Autowired
@InjectMocks
private GraphServiceClient graphServiceClient;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
}
@Test
public void testSavingShortestPath() throws Exception {
given(graphFeignClient.getShortestPath(anyInt(),anyInt(),any()))
.willReturn(Arrays.asList(1,2,3,4,5));
//...
}
}