以下代码在测试环境中引发错误,因为未定义StripeCheckout
:
var handler = StripeCheckout.configure({
key: 'pk_test_...',
image: '/images/marketplace.png',
token: function(token) {
process(token);
}
});
如何创建Stripe Mock?
我觉得这样的事情可能有用:
function StripeMock(){
}
StripeMock.prototype.configure = function( config ){
console.log('configure');
}
var StripeCheckout = new StripeMock();
但我得TypeError: 'undefined' is not a object
。
那么,模拟StripeCheckout对象的好方法是什么?
答案 0 :(得分:1)
为什么你不使用间谍?
http://jasmine.github.io/1.3/introduction.html
http://tobyho.com/2011/12/15/jasmine-spy-cheatsheet/
类似的东西:
StripeCheckout = {
configure: jasmine.createSpy("configure() spy");
};
答案 1 :(得分:1)
间谍可能是一个更好的主意,但让它与JS功能一起工作:
function StripeMock(){
}
StripeMock.prototype.configure = function( config ){
console.log('Stripe Mock init.');
return new Handler();
}
function Handler(){
}
Handler.prototype.open = function(params){
console.log('Stripe Mock handler opened.')
}
Handler.prototype.close = function(){
}
var StripeCheckout = new StripeMock();