1
我正在为我的Javascript应用程序编写Jasmine测试。一个主要的时间接收器一直在测试我的代码,这取决于StripeCheckout。 Stripe不希望您脱机使用它。我意识到我应该嘲笑这项服务,但这在茉莉花里并不容易。在茉莉花测试中模拟StripeCheckout
我该如何模拟“定制”(而不是“简单”)使用StripeCheckout?
我试图用spies,像这样,
var StripeCheckout = jasmine.createSpyObj('StripeCheckout', ['configure']);
但我认为创建对象需要附加到全局对象(窗口)。
所以,我可以add an object to the global object。这工作, 但它感觉跛脚。
另一种选择可能是告诉 Karma通过网络加载 页面。这对我来说很有效,但让 成为测试的网络请求似乎很失败。
我还没有弄清楚这一点。我使用了一些不太理想的解决方案。有趣的想法 - 在测试中添加一个Angular服务。我想我应该包装'window.StripeCheckout'并让我的角码使用DI作为StripeCheckout符号。我正在使用Angular,但我正在寻找一种不需要Angular的解决方案。 – cyrf