Помимо написания кода на любом языке программирования, также очень важно писать безошибочный код. Безошибочный код критически важен для бесперебойной работы приложений и бизнес-процессов.

Если говорить о типе тестирования, то в основном существует 3 типа тестирования.

А. Модульное тестирование: Как следует из названия, это тестирование наименьшей тестируемой единицы вашего кода. Например, тестирование функций или модулей в вашем коде. Вы можете проверить возвращаемый тип или значение вашей функции, ее параметр или логику, которую выполняет ваша функция.

Б. Тестирование интеграции: здесь вы тестируете взаимодействие между 2 или более функциями. Это проверка того, как 2 или более единиц работают вместе.

С. Сквозное тестирование: это тестирование комбинации нескольких интеграций. Это может включать тестирование API, который подключается к базе данных и сохраняет / извлекает данные. Этот тест состоит из множества интеграций.

Теперь я собираюсь познакомить вас с инструментами, которые в основном используются для автоматического тестирования. Помимо встроенных инструментов Nodejs, есть более популярные инструменты, которые также очень хорошо работают вместе.

Mocha: тестовая среда

Mocha - один из самых популярных фреймворков для тестирования JavaScript, поэтому вы, скорее всего, встретите его в процессе разработки. Jest - еще один популярный фреймворк для тестирования Node.

Чтобы сказать Mocha, что ваш код JavaScript является тестом, вы используете специальные ключевые слова, которые являются частью тестового API Mocha:

description () обозначает произвольно вложенную группу тестовых примеров (описать () может содержать другие описания ()).
it () обозначает один тестовый пример.
Обе функции принимают два аргумента:

›Описание в отчете о тестировании.
› Функция обратного вызова.

Чай: библиотека утверждений

Chai - одна из самых популярных библиотек утверждений для тестирования JavaScript. Он прост в использовании, хорошо работает с Mocha и предлагает два стиля утверждения:

Assert: assertEqual (1, 1)
BDD (разработка, управляемая поведением): expect (1 === 1) .to.be.true или expect (1) .to.equal (1)

Sinon: библиотека тестовых двойников

Sinon - это блок кода, который заменяет некоторую часть производственного кода в целях тестирования. Тестовые двойники полезны, когда неудобно или даже невозможно запускать тестовые примеры для производственного кода.

Стамбул: библиотека для тестирования покрытия кода

Istanbul - это показатель качества кода, который измеряет, какая часть потенциально исполняемого кода при тестировании была фактически выполнена при запуске тестов (то есть во время одного вызова теста npm, как вы вскоре увидите).

ESlint: подключаемая утилита для линтинга.

Линтер - это инструмент, который анализирует ваш код на предмет потенциальных ошибок, что иногда называют статическим анализом кода.

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

›Необъявленные переменные
› Неиспользуемые переменные или функции
›Длинные строки исходного кода
› Плохо отформатированные комментарии
›Отсутствующие комментарии в документации

Хотите узнать больше об it и образце приложения, чтобы начать работу? "Кликните сюда"

Вывод:

В этой статье мы получим краткое представление о темах, прежде чем мы начнем писать тестовые примеры для приложения NodeJS API. Далее мы настроим проект и напишем тесты для Nodejs API.

Спасибо!