Давайте дізнаємось для чого потрібний Jest!
Jest — це чудовий open source фреймворк для тестування на JavaScript від Facebook з акцентом на простоту. Він дозволяє писати функціональні і API тести, й швидко досягати бажаних результатів.
Працює з проектами, які використовують Babel, TypeScript, Node, React, Angular, Vue і багато іншого!
Сила Jest:
Jest націлений на роботу з коробки, без додаткових налаштувань, для більшості проектів на JavaScript. З assertion and mocking підтримкою бібліотек.
Jest легко встановити і запустити. Ви можете встановити його в порожню директорію 2 -ма способами, використовуючи npm або yarn.
Jest має дружній CLI.
Jest Гнучкий. Тести написані у стилі BDD, подібно до будь-якої іншої сучасної бібліотеки тестування. Ви можете просто вставити свої тести всередину каталогу під назвою _tests_ або назвати файл з розширенням .spec.js або .test.js, після чого запустити тест, і вуаля все працює.
Jest ДУЖЕ швидкий. Особливо, коли Ваші тести пов’язані з процесором, це може скоротити час виконання тестів. Показник Airbnb переключився з Mocha на Jest, і їх загальний час виконання тесту скоротилося з більш ніж 12 хвилин до всього лише 4,5 хвилин на потужній машині CI. Локальні тести займали 45 хвилин, і їх вдалося скоротити до 14,5 хвилин. Також Jest застосовують в Uber, Twitter та багатьох інших відомих продуктах.
Що робить Jest таким швидким? Це поєднання кількох факторів:
Розпаралелювання
Кешування
Jest універсальний, оскільки поставляється з власною не маленькою вбудованою бібліотекою. Jest заснований на бібліотеці Jasmine, тому успадкував її, а в більш пізніх версіях додав власного смаку і поліпшення.
Mock функції — неймовірно важлива частина юніт-тестування.
Мокінг дозволяє замінити нерелевантні залежності, які можуть бути повільними, і навіть контролювати час для коду, який залежить від часу. Jest дозволяє повністю контролювати ваші залежності і master-час.
Jest має Вбудовані Звіти про покриття коду тестами.
Jest робить чудово знімки, які захоплюють рядок, який представляє візуалізований компонент і зберігає у файлі. Якщо ж Ви змінили користувальницький інтерфейс, то вам необхідно оновити файли моментальних знімків, щоб вони відображали це.
Jest може працювати в режимі перегляду, де він запускає тести автоматично, коли ви міняєте код. Ви запускаєте його з аргументом командного рядка –watchAll, і він буде стежити за змінами в Вашому додатку.
Розуміння теорії – це, звичайно, добре, але, все ми знаємо, що практика завжди ефективніша.