2013-11-24 4 views
2

У меня есть небольшая проблема. Я пытаюсь разработать против API Recurly, но я не могу найти способ использовать тестовые учетные записи или тестовый шлюз вместе с живой и запущенной учетной записью Recurly.Запуск тестов против API Recurly вместе с живым сайтом

Кажется, что только они могли сделать это, чтобы сломать наш сайт, пока я запускаю тесты. Кажется маловероятным, что это было бы плохо спроектировано, но я не могу найти способ сделать это. У кого-нибудь еще есть решение?

ответ

4

Обычно мы рекомендуем создать второй сайт, предназначенный только для разработки и тестирования. Затем, поскольку @atif предложил вам использовать отдельный ключ API для тестов и разработки, не беспокоясь о влиянии на ваш производственный сайт. Один недостаток этого подхода - вам нужно будет воссоздать любые планы и купоны, которые вы используете в своем тестировании.

Возможно, вам понадобятся разные уровни тестирования. Вам понадобятся несколько тестов, которые фактически интегрируются с нашими серверами, создают учетные записи, подписываются и т. Д., Которые вы запускаете нечасто, потому что они будут медленнее. Для большинства ваших тестов я попытаюсь следовать советам @ ryan1234 и использовать stub/mock/fixtures для удаленных запросов. Это сделает намного более быстрые тесты.

+0

Как настроить второй подобъект для этой цели? Я не могу найти что-либо в веб-интерфейсе, чтобы позволить мне сделать это с моим существующим профилем. – colan

+0

Большинство людей просто подписываются на второй сайт и прикрепляют к нему суффикс -dev или -test. – drewish

+1

Делает смысл. Чтобы иметь оба сайта в вашем профиле, похоже, вам нужно выйти из системы, зарегистрироваться с другим адресом электронной почты, а затем добавить свой оригинальный адрес электронной почты в качестве менеджера. – colan

0

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

2

Я бы создал интерфейс между вашим кодом и вызовами Recurly API.

Поэтому логика будет идти:

код приложения -> Интерфейс -> Recurly API вызова.

Затем шаги к испытанию будет что-то вроде этого:

  1. сделать один или два безопасных вызовов в режиме реального HTTP на Recurly.
  2. Запишите запрос HTTP-запроса (1) в файл/строку.
  3. Замените живую реализацию вашего интерфейса фиктивным интерфейсом.
  4. Имейте фиктивный интерфейс, чтобы сравнить данные из (2) с данными, сгенерированными при запуске теста.
  5. Если данные через фиктивный интерфейс соответствуют тому, что вы ожидаете, тогда вы хороши!

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

Тогда, пока их API останется прежним, вы можете быстро и точно протестировать его, не пропуская провода.

Смежные вопросы