Проверка события после фиксированной паузы в две секунды
api.pay(order_id)
time.sleep(2)
events = consumer.poll_all()
assert any(e["order_id"] == order_id for e in events)
Локально тест зелёный, на CI падает примерно раз в десять прогонов, а весь набор из 200 таких тестов идёт семь минут. Что поменять?
- Ждать появления события опросом до таймаута и падать, если его нет
- Увеличить паузу до десяти секунд
- Перезапускать упавшие тесты автоматически
- Запускать такие тесты только локально, а на CI пропускать
