Всем привет,
Сегодня я буду говорить о тестировании вашего кода в Node.js с помощью пакета npm Jest. Jest - это платформа с открытым исходным кодом, созданная Facebook для тестирования приложений на JavaScript. Модульное тестирование - это уровень тестирования программного обеспечения, при котором тестируются отдельные части исходного кода. Единица - это самая маленькая тестируемая часть любого программного обеспечения. Цель тестирования - убедиться, что приложение работает должным образом.

Зачем тестировать?
- Экономит время
- Создает надежное программное обеспечение
- Дает гибкость разработчикам
Чтобы установить Jest, у вас должен быть установлен Node.js. Вы можете скачать Node здесь. После успешной установки выполните следующие действия.
Установка и настройка Jest
First, lets check if Node was installed successfully $ node -v v12.2.0
Мы используем Node версии v12.2.0, если вы не видите номер версии, который означает, что Node.js был установлен неправильно.
Create a new folder from terminal (mkdir jest-testing) and cd into the folder and run the following command npm init -y
Мы запускаем новое приложение Node. Будет создан файл package.json.
Примечание. Когда -y передается в NPM, он использует значения по умолчанию вместо того, чтобы задавать вопросы.
Затем установите jest, выполнив следующую команду
npm i --dev jest
После установки jest ваш package.json должен выглядеть следующим образом:
{
"name": "Blog-Jest-Testing",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"jest": "^25.1.0"
}
}
--------------------------------------------------------------------As you see under dependencies, "jest" is mentioned.
Now You need to alter the "scripts" => "test": Instead of "echo \"Error: no test specified\" && exit 1"
Change it to "jest"
"scripts": {
"test": "jest"
},
После этого шага вы готовы к тестированию.
Давайте проверим простую функцию сложения.
- Сначала создайте файл add.js (файл функции)
- Во-вторых, создайте add.test.js
addition.js
function add(num1,num2) {
return num1 + num2
}
module.exports = add;
Примечание: Module.export позволит нам получить доступ к функции добавления в других файлах.
addition.test.js
We first need to require the file addition file
const add = require('./addition')
test("adds 2+2 to equal 4 ", () => {
expect(add(2,2)).toBe(4);
})
Объяснение: Помимо test.js, шутка выдает как метод под названием test (). Когда мы вызываем test (), мы должны предоставить два аргумента, первый - это строка (имя или мини-описание теста) и функция. Внутри функции jest дает нам библиотеку с именем expect (), мы вызываем ее как функцию и передаем функцию добавления, которая нам нужна из файла add.js. expect () предоставляет нам более 50 методов для использования, мы будем использовать .toBe (), который проверяет равенство. Мы передаем математическое ожидание, равное 4. Теперь, если вы читаете, это похоже на английский. Ожидайте, что значение add (2,2) будет равно 4.
Now when you run this npm test PASS ./addition.test.js ✓ adds 2+2 to equal 4 (3ms) Test Suites: 1 passed, 1 total Tests: 1 passed, 1 total Snapshots: 0 total Time: 5.108s Ran all test suites.
Тест пройден, наша функция работает, как ожидалось.
Вот мой репозиторий Github для этого примера.
Удачного кодирования :)