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