Я чувствую твою боль. Я собираюсь сделать эту досадную вещь, когда я не отвечаю на ваш вопрос так, как вы его задали, но предлагаю вам изменить направление Вам следует выбрать один из следующих вариантов:
- - смоделируйте этот API, чтобы он больше не истекал, и ваши тесты не являются ошибочными
- - обрабатывайте задержку API как нормальное поведение и увеличивайте допустимая длительность вызовов API, поэтому типичное время задержки не приводит к неудачному тесту
- обрабатывает задержку API как ошибку и go исправляет ее так, что ваши тесты проходят
Почему плохие тесты?
Фальшивые тесты означают, что вы не можете отличить сломанный код от медленного вызова API. Таким образом, ваши тесты не помогают вам обнаруживать ошибки. Так в чем же смысл?
Зачем мне издеваться над API? Это не «реально»!
Вы бы сделали это, если хотите протестировать что-либо за пределами API. Отделите ваши логику c от поведения API, чтобы устранить излишнюю логику и сделать ваш код более удобным для сопровождения.
Вы также можете получить похожий, но гораздо более быстрый API для тестирования, чем ваша ложная задача. Как проверить код API локально и заполнить его небольшим набором данных. Хит это в ваших тестах вместо производственного API. Это позволит вам проверить его логику c отдельно от его отставания.