Все знают, что тестирование важно. Без него дефекты оставались бы в программном обеспечении, а компании несли бы репутационные потери.
К тому же, после релиза программного продукта устранять дефекты сложнее, и, как правило, это обходится довольно дорого.
Автоматизация тестирования значительно увеличивает покрытие кода и в долгосрочной перспективе уменьшает расходы.
Обычно разработчики создают автоматизированные тесты, но порой этим занимаются и тестировщики. Это может быть модульное тестирование (короткие тесты некоторых частей функционала) или более масштабное тестирование на уровне интеграции.
В любом случае, задача поиска инструментов для автоматизации тестирования в среде 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 как зависимости.
Шаг #2: Настроить package.json и добавить тестовый скрипт.
Шаг #3: Создать несколько тестов.
Шаг #4: Выполнить тесты, вписав ‘npm run test’ в командную строку.
В этих кратких инструкциях по Node.js описаны несколько популярных фреймворков тестирования JavaScript, и как их использовать совместно для создания комплексной тестовой среды.