JavaScript:
Письмо тестів
Як це зробити:
Нативний підхід (використовуючи Jest)
Jest — це популярний фреймворк для тестування, який надає зручний API для написання юніт-тестів на JavaScript. Він вимагає мінімальної конфігурації і має такі функції, як мок-функції, таймери та тестування по знімках.
- Інсталяція:
npm install --save-dev jest
- Написання простого тесту:
Створіть файл sum.test.js
:
const sum = require('./sum'); // Припускаємо, що ця функція просто додає два числа
test('додає 1 + 2, щоб отримати 3', () => {
expect(sum(1, 2)).toBe(3);
});
- Запуск вашого тесту:
npx jest
Приклад виводу:
PASS ./sum.test.js
✓ додає 1 + 2, щоб отримати 3 (5ms)
Тестування асинхронного коду
Jest полегшує тестування промісів та синтаксису async/await:
// asyncSum.js
async function asyncSum(a, b) {
return Promise.resolve(a + b);
}
// asyncSum.test.js
test('асинхронне додавання працює', async () => {
await expect(asyncSum(1, 2)).resolves.toBe(3);
});
Використання сторонніх бібліотек (Mocha та Chai)
Mocha — це ще один популярний фреймворк для тестування, який часто використовують разом із бібліотекою перевірок Chai для більш виразних тестів.
- Інсталяція:
npm install --save-dev mocha chai
- Написання тесту за допомогою Mocha та Chai:
Створіть calculate.test.js
:
const chai = require('chai');
const expect = chai.expect;
const calculate = require('./calculate'); // Простий модуль обчислення
describe('Calculate', function() {
it('повинен сумувати два значення', function() {
expect(calculate.sum(5, 2)).to.equal(7);
});
});
- Запуск ваших тестів з Mocha:
Додайте скрипт у ваш package.json
:
"scripts": {
"test": "mocha"
}
Потім виконайте:
npm test
Приклад виводу:
Calculate
✓ повинен сумувати два значення
1 passing (8ms)
Ці приклади ілюструють базове написання тестів та їх виконання в JavaScript. Адаптація фреймворку для тестування, як-от Jest або Mocha з Chai, може забезпечити міцну основу для ретельного тестування додатків, допомагаючи забезпечити правильну роботу вашого коду при оновленнях та рефакторингах.