Тестирование удаленного REST сервиса API, в частности HubSpot - PullRequest
1 голос
/ 05 ноября 2019

Я намереваюсь написать приложение Spring Boot, которое внутренне работает с некоторыми данными о контактах / клиентах, и я хочу интегрировать HubSpot. Например, у меня есть идентификатор контакта, который я хочу использовать для запроса API HubSpot (обновить, удалить, получить профиль, ...).

Как лучше всего написать интеграционные тесты для HubSpot?

  1. Должен ли я вообще это делать?

  2. Я ожидаюответ JSON, когда я прошу HubSpot получить профиль, или, если я обновлю контакт. Как мне проверить это?

  3. Должен ли я проверить, что получаю какой-то JSON, или, если я должен проверить структуру JSON, возможно, чтобы получить дополнительную информацию об этом контакте, чтобы продолжить какой-то рабочий процесс?

  4. Или я должен написать только модульные тесты для своего сервиса, который фактически запрашивает API HubSpot?

1 Ответ

1 голос
/ 06 ноября 2019

Это интересный вопрос. Многие вопросы о том, что я должен проверить, дают быстрый ответ на вопрос, хорошо ли это зависит, в основном, от риска, на который вы готовы пойти. Вот сообщение в блоге , которое я написал на эту тему для фона.

С точки зрения технической сложности тестирования интеграции HubSpot. HubSpot имеет документацию , в которой рассказывается, как создавать тестовых пользователей, которые можно использовать для проверки вашей интеграции.

Теперь о том, какие тесты следует писать?

Сначалавсе, Should I do it at all?, на мой взгляд, ответ - да. Просто у вас есть две движущиеся части, ваш код и HubSpot как сервис. Любой из них может измениться и сломать вашу интеграцию. Без подходящих тестов будет сложнее отлаживать, когда это произойдет.

Теперь о том, как тестировать. Здесь могут помочь три типа тестов:

  1. Модульное тестирование. Это будет тестирование кода, который вы написали. В этом случае я бы посмеялся над ответом HubSpot, чтобы вы тестировали код, но на самом деле не вызывали HubSpot.

  2. Интеграционное тестирование. Я предполагаю основу вашего вопроса с учетом тегов. Для этого я бы использовал тестовую учетную запись и проверил все ожидаемые варианты поведения.

    • Создание пользователя
    • Обновление пользователя и т. Д.

Используя тестовый аккаунт, вы можете сделать это контролируемым образом. Где единственными движущимися частями являются ваши звонки в HubSpot API и их ответы. Это легко выявит проблемы при изменении вашего кода или при выпуске новых выпусков HubSpot. Это уровень, который даст вам уверенность в правильности вашей интеграции. На этом этапе я бы проверил ответ, структуру и значение HubSpot. Кроме того, я бы проверил, было ли выполнено правильное действие (в случае создания или обновления пользователя).

Сквозное тестирование. Завершите процесс загрузки приложения Spring с помощью тестового пользователя на HubSpot. Это, конечно, даст вам уверенность, что все ваше приложение работает. Однако, если здесь произошел сбой, вызванный интеграцией с HubSpot, вы бы надеялись на соответствующий сбой интеграционного теста, который поможет с отладкой.
...