Настройка среды тестирования
Настройте среду тестирования с помощью таких инструментов, как Jest или QUnit, и добавьте проверки для подтверждения поведения функций и плагинов jQuery.
«Настройка среды тестирования» — бесплатный урок jQuery Academy на CoddyKit. Это урок 2 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения jQuery Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс jQuery Academy содержит 3 уроков всего.
Зачем тестировать код jQuery
Написание тестов для кода jQuery крайне важно при создании надёжных веб-приложений, которые легко поддерживать. Тесты помогают рано обнаруживать ошибки и гарантируют, что код ведёт себя ожидаемым образом.
- Предотвращение регрессий: Гарантирует, что новые изменения не нарушат существующую функциональность.
- Повышение качества кода: Побуждает писать модульный и тестируемый код.
- Упрощение совместной работы: Предоставляет понятную документацию о том, как должны работать компоненты.
Выбор средства запуска тестов
Для тестирования JavaScript, включая jQuery, Вам понадобится средство запуска тестов. Этот инструмент выполняет тесты и сообщает результаты.
Популярны два варианта:
- Jest: Современная многофункциональная платформа тестирования от Facebook, широко используемая для React, но подходящая для любого JS.
- QUnit: Платформа тестирования, специально разработанная для jQuery; она проще, но содержит меньше возможностей, чем Jest.
В этом уроке мы сосредоточимся на настройке Jest благодаря его широким возможностям и распространённости.
Инициализация проекта (Node.js)
Перед установкой Jest Вам понадобится проект Node.js. Если у Вас его ещё нет, его легко создать.
Перейдите в каталог проекта в терминале и выполните:
npm init -yЭта команда создаёт файл package.json, который управляет зависимостями и сценариями проекта.
Установка Jest и JSDOM
Теперь установим Jest. Поскольку jQuery часто взаимодействует с DOM браузера (объектной моделью документа), нам также понадобится jest-environment-jsdom. JSDOM предоставляет в Node.js среду, похожую на браузер, поэтому код jQuery может изменять виртуальный DOM.
Установите их как зависимости для разработки:
npm install --save-dev jest jest-environment-jsdomЭто добавит Jest и JSDOM в файл package.json.
Настройка Jest для JSDOM
Чтобы указать Jest использовать JSDOM, его необходимо настроить. Это можно сделать, добавив сценарий test в файл package.json или создав файл jest.config.js.
Вариант 1: в package.json
{
"name": "my-jquery-app",
"version": "1.0.0",
"scripts": {
"test": "jest --env=jsdom"
},
"devDependencies": {
"jest": "^29.x.x",
"jest-environment-jsdom": "^29.x.x"
}
}Флаг --env=jsdom гарантирует, что Jest будет запускать тесты в среде JSDOM.
Ваш первый файл тестов
Jest ищет файлы тестов в каталоге __tests__ или файлы, имена которых заканчиваются на .test.js (или .spec.js). Создадим простой файл тестов.
Создайте каталог с именем __tests__ в корневом каталоге проекта, а затем добавьте файл, например __tests__/my-feature.test.js:
// __tests__/my-feature.test.js
describe('My Feature', () => {
test('should do something basic', () => {
// Test logic will go here
});
});describe объединяет связанные тесты, а test (или it) определяет отдельный тестовый случай.
Импорт jQuery для тестов
Чтобы тестировать код jQuery, необходимо импортировать сам jQuery в файл тестов. Установить jQuery можно через npm: npm install jquery.
Затем импортируйте его в файле тестов:
// __tests__/my-feature.test.js
const $ = require('jquery');
describe('My jQuery Feature', () => {
// Setup for each test
beforeEach(() => {
// Create a fresh DOM element for each test
document.body.innerHTML = 'Hello';
});
test('should add a class to the element', () => {
const element = $('#test-element');
element.addClass('highlight');
expect(element.hasClass('highlight')).toBe(true);
});
});Написание основных утверждений
Утверждения позволяют проверить правильность работы кода. Jest использует функцию expect() в сочетании с сопоставителями для создания утверждений.
Вот простой пример на JavaScript (не связанный непосредственно с jQuery, но демонстрирующий утверждения):
function addNumbers(a, b) {
return a + b;
}
// Example of how Jest would test this:
// expect(addNumbers(2, 3)).toBe(5);
// expect(addNumbers(-1, 1)).toBe(0);
console.log("2 + 3 = " + addNumbers(2, 3));
console.log("5 + 10 = " + addNumbers(5, 10));Распространённые сопоставители Jest
Jest предлагает богатый набор сопоставителей. Вот несколько распространённых вариантов:
.toBe(value): Проверяет точное равенство (как===)..toEqual(value): Проверяет глубокое равенство объектов или массивов..not.toBe(value): Проверяет неравенство..toBeTruthy()/.toBeFalsy(): Проверяет истинность или ложность..toContain(item): Проверяет, содержит ли массив или строка указанный элемент.
В jQuery их часто объединяют с методами jQuery, например: expect($element.text()).toBe('Expected Text');
Запуск тестов
После настройки файлов тестов их запуск не составит труда. Просто используйте сценарий, определённый в package.json:
npm testJest найдёт все файлы тестов, выполнит их в среде JSDOM и выведет результаты в терминал. Вы увидите, какие тесты пройдены, какие завершились с ошибкой, а также подробности всех ошибок.
Быстрая проверка настройки
Вы узнали, как настроить среду тестирования jQuery с помощью Jest и JSDOM. Какие из перечисленных команд и настроек необходимы для базовой конфигурации Jest с поддержкой DOM?
Повторение: настройка среды тестирования
В этом уроке Вы узнали, как настроить надёжную среду тестирования приложений jQuery с помощью Jest.
- Мы инициализировали проект Node.js с помощью
npm init. - Установили Jest и
jest-environment-jsdomдля имитации среды браузера. - Настроили Jest в файле
package.jsonдля использования JSDOM. - Разобрались, как организовать файлы тестов, импортировать jQuery и писать основные утверждения с помощью сопоставителей Jest.
Эта основа позволяет писать эффективные тесты, обеспечивая надёжность и удобство поддержки кода jQuery.
Часто задаваемые вопросы
Урок «Настройка среды тестирования» бесплатный?
Да — полный текст урока «Настройка среды тестирования» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс jQuery Academy, подпишись на CoddyKit PRO. Курс jQuery Academy содержит 3 уроков всего.
Чему я научусь в уроке «Настройка среды тестирования»?
Настройте среду тестирования с помощью таких инструментов, как Jest или QUnit, и добавьте проверки для подтверждения поведения функций и плагинов jQuery. Ты практикуешь jQuery Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать jQuery Academy?
Предыдущий опыт не требуется. jQuery Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 3.
Сколько времени занимает урок «Настройка среды тестирования»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке jQuery Academy?
Да. Каждый урок jQuery Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Введение в модульное тестирование jQuery
- Настройка среды тестирования
- Написание эффективных тестов jQuery