Вступить в клуб →
средняявопросТестирование: JUnit 5, Mockito, Testcontainers

Интеграционный тест Kafka-консьюмера ждёт результат через Thread.sleep(5000)

kafkaTemplate.send("orders", orderJson);
Thread.sleep(5000);
assertTrue(repository.findById(orderId).isPresent());

Двадцать таких тестов добавляют к прогону почти две минуты, а на загруженном CI тест всё равно иногда падает. Как ждать правильно?

  • Опрашивать условие до таймаута, например через Awaitility
  • Увеличить паузу до 15 секунд
  • Вызывать метод консьюмера напрямую, минуя Kafka
  • Отправлять сообщение синхронно через send(...).get()

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела