Я новичок в JavaScript. Представьте себе, я следующий кусок кода:Что такое современный подход к тестированию кода jQuery?
$(document).ready(function() {
$('#nights').on('keyup', function() {
var nights = +$(this).val();
var dailyPrice = +$(this).closest(".tour").data("daily-price");
$('#total').text(nights * dailyPrice);
$('#nights-count').text($(this).val());
});
});
Как я могу блок-тест, что анонимная функция
- возвращает значение текущего элемента,
- извлекает данные из
+$(this).closest(".tour").data("daily-price")
и - затем вызывает
text(...)
на$('#total')
и$('#nights-count')
?
Обратите внимание, что меня интересует блок тестов (поэтому создание полноценного селен-теста, который что-то типа, а затем проверяет значение элементов, не подходит для меня) t требует, чтобы я добавил новый уровень абстракции.
По уровню абстракции Я имею в виду: я мог бы создать класс JQueryAbstraction
, а затем 2 подклассов - один, который вызывает реальные методы JQuery и другие, который просто подсчитывает количество вызовов.