Все знают, что тестирование важно. Без него дефекты оставались бы в программном обеспечении, а компании несли бы репутационные потери.

К тому же, после релиза программного продукта устранять дефекты сложнее, и, как правило, это обходится довольно дорого.

Автоматизация тестирования значительно увеличивает покрытие кода и в долгосрочной перспективе уменьшает расходы.

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

node js

В любом случае, задача поиска инструментов для автоматизации тестирования в среде Node.js может быть довольно непростой.

В этой заметке пойдет речь о популярных инструментах и о том, как эти инструменты следует использовать, чтобы создать комплексную среду тестирования.

#1) Mocha

Mocha — это javascript фреймворк, который применяется для промисов (promises) и асинхронных функций (async/await) с помощью TypeScript или Babel.

#2) Chai

Ассерт-библиотека (Assert) под названием Chai позволяет использовать конструкции в естественном языке при разработке тестов. Здесь все предельно понятно.

Пример того, как естественные ассерты пишутся в Chai:

expect (myResult).to.equal(23)

#3) Mockery

Mockery — это небольшой npm-модуль, в котором можно заменять тестовые mock-объекты, не изменяя код готового приложения. Просто создается mock-функция или модуль и регистрируется без имитации. Node.js добавит mock-объекты, когда требующиеся выражения будут использоваться в коде.

#4) Jenkins

Jenkins — это система продолжительной интеграции, которая подключается к системе управления версиями (например, Git) и автоматически выполняет mocha в любое время, когда делаются коммиты (commit). Другими словами, программный продукт тестируется всякий раз, когда происходят изменения.

Как настроить фреймворк в Node.js?

Шаг #1: Добавить в проект mocha, chai и mockery как зависимости.

node js приложение

Шаг #2: Настроить package.json и добавить тестовый скрипт.

node js windows

Шаг #3: Создать несколько тестов.

node js тестирование

Шаг #4: Выполнить тесты, вписав ‘npm run test’ в командную строку.

node js фреймворк настройка

В этих кратких инструкциях по Node.js описаны несколько популярных фреймворков тестирования JavaScript, и как их использовать совместно для создания комплексной тестовой среды.