0Pricing
jQuery Academy · Урок

Настройка среды тестирования

Настройте среду тестирования с помощью таких инструментов, как 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 test

Jest найдёт все файлы тестов, выполнит их в среде 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 — локальная установка не требуется.

Все уроки этого курса

  1. Введение в модульное тестирование jQuery
  2. Настройка среды тестирования
  3. Написание эффективных тестов jQuery
← Назад к jQuery Academy