Интеграционное тестирование с верблюдом, споком и Mock Server - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь создать интеграционный тест для верблюжьего маршрута.Мой маршрут читает сообщение от Кафки, преобразует его и отправляет другому Кафке.Во время интеграционного теста я могу создать в памяти производителя и потребителя кафки, чтобы опубликовать сообщение и использовать его.Однако, во время выполнения моего сквозного верблюжьего маршрута, я не хочу достигать фактической конечной точки, а вместо этого хочет вернуть ответ из моего теста.Я думал, что буду использовать MockServerClient, используя testCompile 'org.mock-server:mockserver-netty:5.5.0' В моем тестовом классе Спока, у меня есть

@Rule
public MockServerRule mockServerRule = new MockServerRule(this)
private MockServerClient mockServerClient

В моем данном разделе указан код ниже -

 given:
    String body = '{"test":324234}'
    mockServerClient.when(new HttpRequest().withPath("https://testserver.com/myPostPath").withMethod("POST"))
            .respond(new HttpResponse().withStatusCode(HttpStatusCode.OK_200.code())
            .withBody("{'message': 'How may I help you?'}"))

, когда: я публикуюсообщение в тему кафки и ожидание сообщения.Однако на маршруте у меня есть вызов API, который я не хочу достигать конечной точки, и вместо этого ожидаю, что mockServerClient вернет вышеуказанную полезную нагрузку.Но он ведет себя не так, как ожидалось, и переходит к фактическому вызову конечной точки.Есть ли что-то, чего мне не хватает, чтобы получить вызов API для проверки.Пожалуйста, предложите.

...