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

Содержание:

Anonim

Тестирование - ключевой элемент любого приложения. Для 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.

  1. Обратите внимание, что здесь указан каталог spec. Как отмечалось ранее, при запуске jasmine ищет все тесты в этом каталоге.
  2. Следующее, что следует отметить, - это параметр 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;};

Пояснение к коду:

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

Шаг 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);});});
  1. Нам нужно сначала включить наш файл Add.js, чтобы мы могли протестировать функцию «AddNumber» в этом файле.
  2. Сейчас мы создаем наш тестовый модуль. Первая часть тестового модуля - это описание метода, который по сути дает имя нашему тесту. В данном случае название нашего теста - «Дополнение».
  3. Следующим шагом является описание нашего теста с использованием метода «it».
  4. Теперь мы вызываем наш метод Addnumber и отправляем 2 параметра 5 и 6. Они будут переданы нашему методу Addnumber в файле App.js. Затем возвращаемое значение сохраняется в переменной с именем value.
  5. Последний шаг - провести сравнение или наш фактический тест. Поскольку мы ожидаем, что значение, возвращаемое функцией Addnumber, будет равно 11, мы определяем это с помощью метода expect (value) .toBe (ожидаемое значение).

Выход

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

Резюме

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