Почему один и тот же тестовый пример, когда выполняется второй раз, терпит неудачу?Почему jasmine-jquery событие шпионов непоследовательно?
Настройка
var element, elementClickSpy;
beforeEach(function() {
element = angular.element('<div id="some-element"></div>');
$('body').append(element);
elementClickSpy = spyOnEvent('#some-element', 'click');
});
Случай 1
В первом случае работает как ожидалось.
it('should work', function() {
expect(elementClickSpy).not.toHaveBeenTriggered();
element.click();
expect(elementClickSpy).toHaveBeenTriggered();
});
Случай 2 (Идентичный случай 1)
Второе утверждение не по какой-то причине, даже если дело является точной копией первого случая.
it('should work again', function() {
expect(elementClickSpy).not.toHaveBeenTriggered();
element.click();
expect(elementClickSpy).toHaveBeenTriggered();
});
Во втором случае, не выполняется ли первое или второе утверждение? (Мне интересно, не попадает ли неправильный элемент в ваш 'beforeEach', например, тело не очищается после каждого теста) –
Ошибка только второго утверждения. Странно, да? Поэтому, если тело не очистится, я ожидаю, что первое ожидание потерпит неудачу. –
Возможно. Что находится в '...' вашего вызова 'spyOnEvent'? –