2015-04-16 3 views
1

Следующий код поднимает ошибку в тестовой среде, поскольку StripeCheckout не определен:Ошибка Mock для Stripe в тестах Жасмина?

var handler = StripeCheckout.configure({ 
    key: 'pk_test_...', 
    image: '/images/marketplace.png', 
    token: function(token) { 
    process(token); 
    } 
}); 

Как создать нашивки Mock?

Я думал, что что-то подобное может работать:

function StripeMock(){ 
} 

StripeMock.prototype.configure = function(config){ 
    console.log('configure'); 
} 

var StripeCheckout = new StripeMock(); 

Но я получаю TypeError: 'undefined' is not a object.

Итак, что является хорошим способом издеваться над объектом StripeCheckout?

+0

Можете ли вы показать еще код здесь, поскольку это не имеет смысла? Пожалуйста, включите весь тестовый файл. –

ответ

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(); 
+0

Это то, к чему мне приходилось прибегать, потому что я не мог заставить шпионов работать. – cyrf

Смежные вопросы