gpt4 book ai didi

javascript - 如何在 teaspoon-Jasmine 测试中包含脚本标签

转载 作者:行者123 更新时间:2023-11-29 15:57:56 27 4
gpt4 key购买 nike

如何加载 stripe 脚本,以便在我的 Teaspoon-Jasmine 测试期间定义 Stripe。

错误:

Failure/Error: ReferenceError: Stripe is not defined

茶匙测试:

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();
});

});
});
});

最佳答案

getScript 运行之后但在加载脚本并且页面上存在 Stripe 对象之前可能有一个异步时期。

摩卡支持asynchronous callbacks ,所以试一试,像这样:

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

最新版本的 Mocha 支持直接返回 promise ,因此您也可以这样做。

关于javascript - 如何在 teaspoon-Jasmine 测试中包含脚本标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56837550/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com