Учебники

11) Тестирование Node.js с жасмином.

Тестирование является ключевым элементом любого приложения. Для Node.js среда, доступная для тестирования, называется Jasmine. В начале 2000 года появилась среда для тестирования приложений JavaScript, которая называлась JsUnit. Позже эта структура была обновлена ​​и теперь известна как Жасмин.

Жасмин помогает в автоматизированном модульном тестировании , что стало довольно важной практикой при разработке и развертывании современных веб-приложений.

В этом руководстве вы узнаете, как настроить вашу среду с помощью jasmine и как начать тестировать свое первое приложение Node.js с помощью jasmine.

В этом уроке вы узнаете

Обзор Jasmine для тестирования приложений Node.js

Jasmine — это среда тестирования на основе поведения (BDD) для JavaScript. Он не зависит от браузеров, DOM или любых JavaScript-фреймворков. Таким образом, он подходит для веб-сайтов, проектов Node.js или любого другого места, где может работать JavaScript. Чтобы начать использовать Jasmine, вам необходимо сначала загрузить и установить необходимые модули Jasmine.

Затем вам нужно будет инициализировать вашу среду и проверить файл конфигурации jasmine. Ниже показано, как настроить Jasmine в вашей среде.

Шаг 1) Установка модулей NPM

Вам необходимо установить модуль jasmine, чтобы использовать среду jasmine из приложения Node. Чтобы установить модуль jasmine-node, выполните приведенную ниже команду.

npm установить жасмин-узел

Шаг 2) Инициализация проекта. Делая это, jasmine создает каталог спецификаций и конфигурацию json для вас. Каталог spec используется для хранения всех ваших тестовых файлов. Сделав это, Жасмин узнает, где находятся все ваши тесты, и затем сможет выполнить их соответствующим образом. Файл JSON используется для хранения конкретной информации о конфигурации жасмина.

Чтобы инициализировать среду жасмина, выполните команду ниже

жасмин иници

Шаг 3) Проверьте ваш файл конфигурации. Файл конфигурации будет сохранен в папке spec / support как jasmine.json. Этот файл перечисляет исходные файлы и файлы спецификаций, которые вы хотели бы включить в состав Jasmine runner.

На снимке экрана ниже показан типичный пример файла package.json для jasmine.

Учебное пособие по модульному тестированию Node.js с Жасмин

  1. Обратите внимание, что каталог спецификаций указан здесь. Как отмечалось ранее, при запуске jasmine выполняет поиск всех тестов в этом каталоге.
  2. Следующее, что следует отметить, — это параметр spec_files. Это означает, что к любым созданным тестовым файлам следует добавлять ключевое слово spec.

Как использовать Jasmine для тестирования приложений Node.js

Чтобы использовать Jasmine для тестирования приложений Node.js, необходимо выполнить ряд шагов.

В нашем примере ниже мы собираемся определить модуль, который добавляет 2 числа, которые необходимо протестировать. Затем мы определим отдельный файл кода с тестовым кодом, а затем используем jasmine, чтобы соответствующим образом протестировать функцию Add.

Шаг 1) Определите код, который необходимо протестировать. Мы собираемся определить функцию, которая добавит 2 числа и вернет результат. Этот код будет написан в файле с именем «Add.js.»

Учебное пособие по модульному тестированию Node.js с Жасмин

var exports=module.exports={};
exports.AddNumber=function(a,b)
{
return a+b;
};

Объяснение кода:

  1. Ключевое слово «export» используется для обеспечения того, чтобы функциональность, определенная в этом файле, была фактически доступна другим файлам.
  2. Затем мы определяем функцию под названием «AddNumber». Эта функция определена, чтобы принять 2 параметра, a и b. Функция добавлена ​​в модуль «экспорт», чтобы сделать функцию общедоступной функцией, к которой могут обращаться другие модули приложения.
  3. Мы наконец заставляем нашу функцию возвращать добавленную стоимость параметров.

Шаг 2) Далее нам нужно определить наш тестовый код жасмина, который будет использоваться для проверки нашей функции «Добавить» в файле Add.js. Приведенный ниже код необходимо поместить в файл с именем add-spec.js.

Примечание . — В тестовый файл необходимо добавить слово «spec», чтобы оно могло быть обнаружено жасмином.

Учебное пособие по модульному тестированию Node.js с Жасмин

Объяснение кода:

var app=require("../Add.js");
describe("Addition",function(){
it("The function should add 2 numbers",function() {
var value=app.AddNumber(5,6);
expect(value).toBe(11);
});
});
  1. Сначала нам нужно включить наш файл Add.js, чтобы мы могли проверить функцию «AddNumber» в этом файле.
  2. Сейчас мы создаем наш тестовый модуль. Первая часть тестового модуля должна описать метод, который в основном дает название для нашего теста. В данном случае название нашего теста — «Дополнение».
  3. Следующий шаг — дать описание нашего теста, используя метод «it».
  4. Теперь мы вызываем наш метод Addnumber и отправляем 2 параметра 5 и 6. Это будет передано нашему методу Addnumber в файле App.js. Возвращаемое значение затем сохраняется в переменной с именем value.
  5. Последний шаг — сделать сравнение или наш настоящий тест. Поскольку мы ожидаем, что значение, возвращаемое функцией Addnumber, будет равно 11, мы определяем это с помощью метода ожидаем (значение) .toBe (ожидаемое значение).

Вывод

  1. Для запуска теста необходимо выполнить команду jasmine.
  2. На приведенном ниже снимке экрана показано, что после запуска команды jasmine он обнаружит тест с именем add-spec.js и выполнит его соответствующим образом. Если в тесте есть какие-либо ошибки, он будет показан соответствующим образом.

Учебное пособие по модульному тестированию Node.js с Жасмин

Резюме

  • Чтобы протестировать приложение Node.js, сначала необходимо установить инфраструктуру jasmine. Это делается с помощью диспетчера пакетов Node.
  • Тестовый код должен быть написан в отдельном файле, и к имени файла должно быть добавлено слово «spec». Только если это будет сделано, jasmine сможет обнаружить, что файл должен быть запущен.
  • Чтобы запустить тест, вам нужно выполнить команду jasmine. Он найдет все файлы, к которым прикреплено слово «spec», и запустит файл соответствующим образом.