Написание тестов с http запросом без ответа

Мне нужно подготовить тест Java (цитрусовый фреймворк), начальным шагом которого является отправка http-запроса. К сожалению, мое тестируемое приложение ничего не отвечает на этот HTTP-запрос, в то время как моя среда тестирования ожидает ответа и в противном случае генерирует ошибку. Лучший способ справиться с такой ситуацией, которая пришла мне в голову, — это использовать какой-то прокси-сервер между моей тестовой средой и реальным приложением, который будет перенаправлять тестовый запрос в фактическое приложение и отвечать на тестовую среду со статусом OK, а не ждем ответа от приложения. Имеет ли это смысл? Как я мог подготовить такой прокси-сервер, предполагая, что мои тесты должны выполняться с вызовом maven?


person thuru    schedule 01.04.2021    source источник


Ответы (1)


Я вижу следующие варианты:

  • Запустите и забудьте: отправьте запрос Http (используя режим fork для операции отправки в Citrus) и вообще не заботьтесь об ответе. Просто пропустите действие получения сообщения, чтобы игнорировать ответ в Citrus.
  • Ожидайте тайм-аут: отправьте запрос Http и используйте действие тайм-аута получения, чтобы убедиться, что клиент не получает ответ в заданное время.
  • Подтвердите/перехватите исключение тайм-аута: используйте действие assert или catch в Citrus для обработки исключения тайм-аута при отправке http-запроса.

Лично я бы выбрал вариант № 2, когда вы отправляете запрос Http и проверяете отсутствие ответа в течение заданного периода времени. Это гарантирует, что фактическое поведение вашего приложения, заключающееся в том, что оно не отправляет никаких ответов, не изменится с течением времени.

person Christoph Deppisch    schedule 08.04.2021