Мне нужно подготовить тест Java (цитрусовый фреймворк), начальным шагом которого является отправка http-запроса. К сожалению, мое тестируемое приложение ничего не отвечает на этот HTTP-запрос, в то время как моя среда тестирования ожидает ответа и в противном случае генерирует ошибку. Лучший способ справиться с такой ситуацией, которая пришла мне в голову, — это использовать какой-то прокси-сервер между моей тестовой средой и реальным приложением, который будет перенаправлять тестовый запрос в фактическое приложение и отвечать на тестовую среду со статусом OK, а не ждем ответа от приложения. Имеет ли это смысл? Как я мог подготовить такой прокси-сервер, предполагая, что мои тесты должны выполняться с вызовом maven?
Написание тестов с http запросом без ответа
Ответы (1)
Я вижу следующие варианты:
- Запустите и забудьте: отправьте запрос Http (используя режим fork для операции отправки в Citrus) и вообще не заботьтесь об ответе. Просто пропустите действие получения сообщения, чтобы игнорировать ответ в Citrus.
- Ожидайте тайм-аут: отправьте запрос Http и используйте действие тайм-аута получения, чтобы убедиться, что клиент не получает ответ в заданное время.
- Подтвердите/перехватите исключение тайм-аута: используйте действие assert или catch в Citrus для обработки исключения тайм-аута при отправке http-запроса.
Лично я бы выбрал вариант № 2, когда вы отправляете запрос Http и проверяете отсутствие ответа в течение заданного периода времени. Это гарантирует, что фактическое поведение вашего приложения, заключающееся в том, что оно не отправляет никаких ответов, не изменится с течением времени.
person
Christoph Deppisch
schedule
08.04.2021