2013-09-18 4 views
2

У меня немного проблемы найти правильный способ использования жасмин-JQuery, чтобы проверить, если следующее событие правильно срабатываетжасмин JQuery - шпион на событие с атрибутом данных

$(document).on('click', '[data-test]', function(e) { 
    ... 
}); 

в основном я хочу написать 2 тестов, которые должны выглядеть примерно так (все ????? части являются те, которые являются для меня загадка):

spyOnEvent(?????????????, 'click'); 
var fixture = setFixtures('<a data-test="whatever"></a> <a class="dummy"></a>'); 
var $elem = fixture.find('a[data-test="whatever"]'); 
var $dummy = fixture.find('.dummy'); 

it('should be triggered', function() { 
    $elem.click(); 
    expect('click').toHaveBeenTriggeredOn(?????); 
}); 

it('should not be triggered', function() { 
    $dummy.click(); 
    expect('click').not.toHaveBeenTriggeredOn(?????); 
}); 

Надежда кто-то может помочь мне на это =) ура

ответ

2

Проблема i s, что toHaveBeenTriggeredOn будет правдой в обоих случаях, потому что вы вызываете щелчок в своем тесте. Также это не то, что вы хотите проверить. Вы должны проверить, что обработчик кликов был запущен. Обычно это делается путем тестирования результата функции обработчика кликов. Например, класс изменился.

+0

Dankeschön =) Это было в основном так, как я его реализовал, отказавшись от попыток поймать триггеры, и это вполне удовлетворительно. Большое спасибо за то, что уделил время помощнику, ура – macg

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

  • Нет связанных вопросов^_^