#java #spring #http
#java #spring #http
Вопрос:
Мы внедряем механизм повторных попыток (используя Spring Retry) для ответов о конфликте http 409, которые мы иногда получаем на рабочем сервере.
Но нам интересно, как намеренно заставить сервер отвечать кодом состояния 409? В наших случаях ошибка, похоже, возникает всякий раз, когда мы пытаемся загрузить много данных параллельно; поскольку вероятность этого кажется довольно случайной, есть ли способ получать ее последовательно в целях тестирования?
Комментарии:
1. Вам нужен ответ для тестов?
2. Вы можете отправить запрос на httpbin.org/status/409
3. Вы настраиваете сервер, который вы явно программируете для этого?
4. Turing85 да. CherryDT спасибо, не знал этого! chrylis-осторожно оптимистично — конечно, но что, если я разверну приложение и хотел бы избежать тестирования кода повтора в рабочей среде …?
Ответ №1:
Что ж, может быть несколько возможных способов сделать это, вам нужно уточнить, где именно вам нужно, чтобы был выброшен 409 ,
Я предполагаю (его приложение spring boot), что один из ваших вызовов service (A) вызывает другой service / API (B), и вы ожидаете, что он выдаст 409.
Если это так, вы можете написать @RunWith(SpringRunner.class )/@SpringBootTest протестируйте и смоделируйте ответ от service / API B с помощью 409 и протестируйте свой механизм повторных попыток.
Комментарии:
1. Модульное тестирование и макетирование выполнены и уже работают. Но как только приложение развернуто, как я могу гарантировать, что механизм будет работать в «реальном мире»?