Тестирование - ключевой элемент любого приложения. Для Node.js фреймворк, доступный для тестирования, называется Jasmine. В начале 2000 года существовала среда для тестирования приложений JavaScript под названием JsUnit. Позже этот фреймворк был модернизирован и теперь известен как Jasmine.
Jasmine помогает в автоматизированном модульном тестировании, что стало довольно важной практикой при разработке и развертывании современных веб-приложений.
В этом руководстве вы узнаете, как настроить среду с помощью jasmine и как начать тестирование своего первого приложения Node.js с помощью jasmine.
В этом руководстве вы узнаете:
-
Обзор Jasmine для тестирования приложений Node.js
-
Как использовать Jasmine для тестирования приложений Node.js
Обзор Jasmine для тестирования приложений Node.js
Jasmine - это среда тестирования поведенческой разработки (BDD) для JavaScript. Он не полагается на браузеры, DOM или любую структуру JavaScript. Таким образом, он подходит для веб-сайтов, проектов Node.js или где угодно, где может работать JavaScript. Чтобы начать использовать Jasmine, вам необходимо сначала загрузить и установить необходимые модули Jasmine.
Затем вам нужно будет инициализировать вашу среду и проверить файл конфигурации жасмина. Следующие шаги показывают, как настроить Jasmine в вашей среде.
Шаг 1) Установка модулей NPM
Вам необходимо установить модуль jasmine, чтобы использовать фреймворк jasmine из приложения Node. Чтобы установить модуль jasmine-node, выполните следующую команду.
npm установить жасмин-узел
Шаг 2) Инициализация проекта. Таким образом, jasmine создает для вас каталог spec и конфигурационный файл json. Каталог spec используется для хранения всех ваших тестовых файлов. Таким образом, jasmine узнает, где находятся все ваши тесты, и сможет выполнить их соответствующим образом. Файл JSON используется для хранения конкретной информации о конфигурации жасмина.
Чтобы инициализировать среду жасмина, выполните следующую команду
жасмин инициатива
Шаг 3) Проверьте свой файл конфигурации. Файл конфигурации будет храниться в папке spec / support как jasmine.json. В этом файле перечислены исходные файлы и файлы спецификаций, которые вы хотели бы включить в Jasmine runner.
На приведенном ниже снимке экрана показан типичный пример файла package.json для jasmine.
- Обратите внимание, что здесь указан каталог spec. Как отмечалось ранее, при запуске jasmine ищет все тесты в этом каталоге.
- Следующее, что следует отметить, - это параметр spec_files - он означает, что к каким бы тестовым файлам ни создавались, они должны быть добавлены с ключевым словом spec.
Как использовать Jasmine для тестирования приложений Node.js
Чтобы использовать Jasmine для тестирования приложений Node.js, необходимо выполнить ряд шагов.
В нашем примере ниже мы собираемся определить модуль, который складывает 2 числа, которые необходимо протестировать. Затем мы определим отдельный файл кода с тестовым кодом, а затем будем использовать жасмин для проверки функции добавления соответственно.
Шаг 1) Определите код, который необходимо протестировать. Мы собираемся определить функцию, которая добавит 2 числа и вернет результат. Этот код будет записан в файл с именем «Add.js.»
var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};
Пояснение к коду:
- Ключевое слово "exports" используется, чтобы гарантировать, что к функциям, определенным в этом файле, действительно могут получить доступ другие файлы.
- Затем мы определяем функцию под названием «AddNumber». Эта функция определена, чтобы принимать 2 параметра, a и b. Функция добавляется в модуль "exports", чтобы сделать функцию общедоступной, к которой могут получить доступ другие модули приложения.
- Наконец, мы заставляем нашу функцию возвращать добавленное значение параметров.
Шаг 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, мы определяем это с помощью метода expect (value) .toBe (ожидаемое значение).
Выход
- Чтобы запустить тест, нужно запустить команду jasmine.
- На приведенном ниже снимке экрана показано, что после запуска команды jasmine она обнаружит наличие теста с именем add-spec.js и выполнит этот тест соответствующим образом. Если в тесте есть ошибки, это будет показано соответствующим образом.
Резюме
- Чтобы протестировать приложение Node.js, сначала необходимо установить фреймворк jasmine. Это делается с помощью диспетчера пакетов Node.
- Тестовый код нужно записать в отдельный файл, а к имени файла нужно добавить слово spec. Только если это будет сделано, жасмин сможет определить, что файл необходимо запустить.
- Чтобы запустить тест, вам нужно выполнить команду jasmine. Это найдет все файлы, к которым прикреплено слово «spec», и запустит файл соответствующим образом.