Я пишу тесты для своего приложения Backbone
, которое использует Stripe
. Я использую mocha-phantomjs
для запуска тестов. В моем файле index.html
я ha <script src="https://js.stripe.com/v2/" type="text/javascript"></script>
, чтобы получить код для Stripe
. Однако, когда я запускаю тесты, я получаю ошибку: ReferenceError: Can't find variable: Stripe
, что имеет смысл, потому что я не выполняю команду для тестов с сертификатом ssl.Создайте Mock для Stripe или используйте объект Stub on Stripe?
Я получил его, создав локальный файл js
и скопировав в него нужный код stripe's
, тем самым исключив необходимость в сертификате ssl и моих тестах.
Однако мой вопрос в том, является ли это лучшей практикой?
Должен ли я достаточно создать sinon
макет объекта Stripe
и использовать его вместо или это больше смысла тупикового на Stripe
объект, чтобы предотвратить любые вызовы, прилагаемый к Stripe
API?
@hyprstack Да, макет - лучший подход ... тем более, что он не позволит реальным Stripe.js совершать какие-либо вызовы в API Stripe. –
Привет, Тони. Я создал макет с sinon, выполнив 'stripeMock = sinon.mock (Stripe);' и присваивая 'var Stripe = {method: function() {}};' Однако, когда я запускаю тесты, он все еще жалуется, что он не может найдите 'variable Stripe'. Мне нужно создать объект, если этого не существует в коде, который я тестирую? – hyprstack
@hyprstack эй, да точно - это должно быть ОК, если вы определяете переменную с/без объекта. –