Общий принцип тестирования: «Не высмеивайте то, чем не владеете». Имитация этих вызовов API делает ваши тесты менее надежными и дает вам ложное чувство безопасности, поскольку вы, скорее всего, получите ложные срабатывания.
Например, когда API неожиданно вносит критическое изменение, ваши тесты будут зелеными, и после развертывания в рабочей среде вы, наконец, заметите, что что-то не так. Это, вероятно, то, что вы хотите, чтобы ваши тесты поймали.
Когда вы будете тестировать реальный API, вы почувствуете надежность. Часто ли ваши тесты терпят неудачу из-за перебоев в обслуживании или тайм-аутов? Если это так, вы можете ввести такие меры, как механизм повторных попыток, автоматические выключатели или отделение вызовов API от остальной части вашего приложения.
Когда вы имитируете API, все, что вы можете сказать, это то, что ваш код ведет себя в соответствии с (возможно, устаревшей) спецификацией службы. Это нормально, но не так полезно, как полагаться на реальный сервис.
Что вы можете сделать, так это использовать группы для запуска этих тестов по отдельности. Это позволит легко включать/исключать эти, возможно, медленные и иногда ненадежные тесты из ваших оставшихся тестов. Это также помогает ограничить скорость, например. запустив эти тесты только на критических ветвях.
person
dbrumann
schedule
03.09.2017