Как включить тег сценария в тестирование чайной ложки жасмина - PullRequest
3 голосов
/ 01 июля 2019

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

Ошибка:

Ошибка / Ошибка: ReferenceError: Полоса не определена

Тесты чайной ложки:

describe("Stripe", function() {
  var paymentElement ;

  describe("constructor", function(){
    beforeAll(function(){
     // Tried this..

      var head = document.getElementsByTagName('head')[0];
      var jQueryScript = document.createElement('script');
      jQueryScript.setAttribute('type', 'text/javascript');
      jQueryScript.setAttribute('src', 'https://js.stripe.com/v3/');
      head.appendChild(jQueryScript);

     // also tried..

      $.getScript( "https://js.stripe.com/v3/");

      paymentElement = new Helpers.Stripe.PaymentElement(); 
    });

    describe("with defaults", function(){
     it("should define stripe", function(){
        expect(Stripe('test-token')).toBeDefined();
      });

      it("should define stripe through instance", function(){
        expect(paymentElement.stripe).toBeDefined();
      });

    });
  });
});

1 Ответ

0 голосов
/ 08 июля 2019

Вероятно, существует асинхронный период после запуска getScript, но до загрузки сценария и на странице существует объект Stripe.

Mocha поддерживает асинхронные обратные вызовы , так что попробуйте, что-то вроде этого:

  describe("constructor", function() {
    before(function(done) {
      $.getScript('script url here', function() {
        done();
      });
    });
  });

Последние версии Mocha поддерживают прямой возврат обещаний, поэтому вы также можете сделать это таким образом.

...