Как смоделировать сложные объекты ответа API - PullRequest
0 голосов
/ 06 марта 2020

Я работаю с Braintree SDK для осуществления платежей на стороне сервера PayPal. Для учета всех сценариев ios при отправке платежа, таких как отклоненные платежи и др. c. Я хочу написать тесты, используя макетный экземпляр класса API Braintree_Gateway. Ответы этого API являются сильно вложенными и довольно сложными объектами.

Для насмешки над этими ответами я вижу два варианта:

  1. Захват реального объекта ответа, его сериализация и загрузка из память для тестирования
  2. Создание и вложение объектов самостоятельно путем создания экземпляра класса Response

Есть ли третий способ, который я еще не рассмотрел?

Номер 1 имеет преимущество в том, что я тестирую на объекте, который API фактически возвратил, что означает, что я тестирую на «реальную вещь». Также довольно быстро настроить

. Номер 2 имеет то преимущество, что в моем тесте структура объекта более открыта и, следовательно, обеспечивает лучшую ссылку на то, как должен выглядеть ответ в каждом случае. Недостатком является то, что его утомительно настраивать и утомительно поддерживать.

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

...