Тестирование является ключевым элементом любого приложения. Для 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.
- Обратите внимание, что каталог спецификаций указан здесь. Как отмечалось ранее, при запуске jasmine выполняет поиск всех тестов в этом каталоге.
- Следующее, что следует отметить, — это параметр spec_files. Это означает, что к любым созданным тестовым файлам следует добавлять ключевое слово spec.
Как использовать Jasmine для тестирования приложений Node.js
Чтобы использовать Jasmine для тестирования приложений Node.js, необходимо выполнить ряд шагов.
В нашем примере ниже мы собираемся определить модуль, который добавляет 2 числа, которые необходимо протестировать. Затем мы определим отдельный файл кода с тестовым кодом, а затем используем jasmine, чтобы соответствующим образом протестировать функцию Add.
Шаг 1) Определите код, который необходимо протестировать. Мы собираемся определить функцию, которая добавит 2 числа и вернет результат. Этот код будет написан в файле с именем «Add.js.»
var exports=module.exports={}; exports.AddNumber=function(a,b) { return a+b; };
Объяснение кода:
- Ключевое слово «export» используется для обеспечения того, чтобы функциональность, определенная в этом файле, была фактически доступна другим файлам.
- Затем мы определяем функцию под названием «AddNumber». Эта функция определена, чтобы принять 2 параметра, a и b. Функция добавлена в модуль «экспорт», чтобы сделать функцию общедоступной функцией, к которой могут обращаться другие модули приложения.
- Мы наконец заставляем нашу функцию возвращать добавленную стоимость параметров.
Шаг 2) Далее нам нужно определить наш тестовый код жасмина, который будет использоваться для проверки нашей функции «Добавить» в файле Add.js. Приведенный ниже код необходимо поместить в файл с именем add-spec.js.
Примечание . — В тестовый файл необходимо добавить слово «spec», чтобы оно могло быть обнаружено жасмином.
Объяснение кода:
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); }); });
- Сначала нам нужно включить наш файл Add.js, чтобы мы могли проверить функцию «AddNumber» в этом файле.
- Сейчас мы создаем наш тестовый модуль. Первая часть тестового модуля должна описать метод, который в основном дает название для нашего теста. В данном случае название нашего теста — «Дополнение».
- Следующий шаг — дать описание нашего теста, используя метод «it».
- Теперь мы вызываем наш метод Addnumber и отправляем 2 параметра 5 и 6. Это будет передано нашему методу Addnumber в файле App.js. Возвращаемое значение затем сохраняется в переменной с именем value.
- Последний шаг — сделать сравнение или наш настоящий тест. Поскольку мы ожидаем, что значение, возвращаемое функцией Addnumber, будет равно 11, мы определяем это с помощью метода ожидаем (значение) .toBe (ожидаемое значение).
Вывод
- Для запуска теста необходимо выполнить команду jasmine.
- На приведенном ниже снимке экрана показано, что после запуска команды jasmine он обнаружит тест с именем add-spec.js и выполнит его соответствующим образом. Если в тесте есть какие-либо ошибки, он будет показан соответствующим образом.
Резюме
- Чтобы протестировать приложение Node.js, сначала необходимо установить инфраструктуру jasmine. Это делается с помощью диспетчера пакетов Node.
- Тестовый код должен быть написан в отдельном файле, и к имени файла должно быть добавлено слово «spec». Только если это будет сделано, jasmine сможет обнаружить, что файл должен быть запущен.
- Чтобы запустить тест, вам нужно выполнить команду jasmine. Он найдет все файлы, к которым прикреплено слово «spec», и запустит файл соответствующим образом.