У меня есть следующие javascript-тест Jasmine для тестирования вызова функции неисправного
function changeSelectBoxTitle() {
var value = $('#reason_id').find('option:selected').text();
$('#reason_id').attr('title', value);
}
$(document).on('change', '#reason_id', function() {
changeSelectBoxTitle();
});
В основном на изменении поля выбора функция changeSelectBoxTitle() должна быть вызвана. Тестирование его через UI проходит. Я пытаюсь проверить этот вызов через жасмин. Это мой жасмин тест-
describe('when select box value is changed', function() {
it('calls the changeSelectBoxTitle function', function() {
spyOn(window, 'changeSelectBoxTitle');
var $dropDown = $('#reason_id');
$dropDown.change();
expect(window.changeSelectBoxTitle).toHaveBeenCalled();
});
});
Все выглядит хорошо. но тест терпит неудачу. Понятия не имею почему. Может кто-то указать мне верное направление?
Код выглядит хорошо. Я бы посмотрел на более простые вещи, например, в тесте, у раскрывающегося списка $ действительно есть элемент, выбранный? Должно быть, что-то происходит неправильно в другом месте, возможно, в вашей настройке. – eck