У меня проблемы с тем, как смоделировать внешний API, который вызывает внутренний API. В основном я хочу протестировать вызов на внутреннем API, чтобы убедиться, что он достигает точки пути внешнего API. Я использую Mockito с java и не могу заставить его работать. Я хочу перехватить вызов внешнего API и вернуть ложный ответ, чтобы внешний API не был затронут. Вот что я попробовал: я использую Micronaut с использованием HttpClients в своих тестах, чтобы сделать что-то вроде:
HttpResponse<blah> response = client.toBlocking().exchange(request, blah.class);
, который является внутренним вызовом API. Внешний вызов API имеет вид:
HttpResponse<blah> response = client.toBlocking().exchange(request, blah.class, error.class);
Я пытаюсь перехватить вызов внешнего API в моем классе тестирования интеграции по: when(client.toBlocking().exchange(any(MutableHttpRequest.class), any(Argument.class), any(Argument.class))).thenReturn(resp);
Но кажется, что я даже не могу достичь внутреннего API, кажется, что звонок никогда не будет сделан. Я считаю, что это перехватывается раньше.
Любая помощь или предложения приветствуются - я не уверен, что это правильный подход или есть какой-то более легкий путь, но заранее благодарю.