Сьогодні ми анонсуємо нову версію Jest, в якій вдосконалено майже всі частини Jest з метою забезпечення міцнішої бази для тестування. Разом зі спільнотою, ми внесли широкий ряд змін, які допоможуть вам отримати більше від Jest. Ми також завершили випробувальний термін для функції користувацьких виконавців та додали новий пакет jest-work
для розпаралелення роботи численних процесів. Внизу ми зібрали список основних моментів, але (як завжди) огляньте журнал усіх змін.
Jest 20: 💖 Приємне тестування & 🏃🏽 Багатопроєктний виконавець
Кілька місяців тому ми анонсували Jest 19, який мав важливі нові функції та був найбільшим релізом Jest на той момент. Jest 20 має подвійну кількість змін у порівнянні з попередньою версією та містить повністю перероблений виконаве ць тестів, додається новий тестовий API. Новий реліз надає новий рівень персоналізації та конфігурації проєктів, при цьому оновлення не забере багато часу. Окрім Безпроблемного JavaScript Тестування, ми вважаємо, що Jest тепер надає Чудовий Досвід Тестування JavaScript. Розглянемо глибше найкращі нові функції та зміни:
Багатопроєктний виконавець & Зміна конфігурації
До сьогодні, Jest міг працювати лише в одному проєкті за раз. Це може перевантажувати процес, якщо ви працюєте над багатьма малими проєктами, кожен з яких має власні налаштування та конфігурацію. В Jest 20, ми повністю переписали виконавець тестів для одночасного запуску багато проєктів в одному екземплярі Jest; наприклад, якщо ви працюєте з фронтом React frontend і беком node.js. Ось відео з Jest, що виконує тести для React Relay, Yarn і Jest одночасно:
🃏 Jest 19: Поглиблений режим спостереження & Покращення тестової платформи
Сьогодні ми із задоволенням публікуємо версію 19 платформи для тестування Jest. Це найбільший реліз Jest, який ми коли-небудь публікували, і ми дуже раді показати вам, що ми створили за останні два місяці:
Поглиблений режим спостереження
Ми повністю переписали режим спостереження, щоб зробити його миттєвим та більш охоплювальним. В результаті, отримуємо поглиблений досвід використання: тести одразу перезапускаються після змін у файлі та ми полегшили вибір правильних тестів.
Чудовий досвід для розробників
Ми віримо, що чудова документація має вирішальне значення для забезпечення позитивного досвіду для розробників. Документація має бути чіткою, лаконічною та корисною як для нових користувачів, так і для знавців технології. З думкою про це, нещодавно ми витратили деякий час на перероблення сайту Jest.
Покращені документи
Одна з помітних змін - оновлена бічна панель. Документація тепер розподілена на три основні розділи: вступ до Jest, детальні посібники для функціонала та універсальна API довідка.
Розділ Вступ допоможе вам встановити Jest і написати ваш перший тест, опановуючи базові підходи, аж до використання матчерів Jest і тестування асинхронного коду. Якщо ви новачок в Jest або хочете швидко освіжити знання, ця частина швидко в цьому допоможе. Якщо ви використовували Jest раніше та потребуєте лише швидку підказку зі встановлення, вам не треба нічого поза розділу Початок роботи.
Як тільки ви опануєте основи Jest, переходьте до розширеного розділу Посібники. Новий посібник з тестування знімками охоплює все, що вам потрібно знати про створення та підтримку тестів зі знімками.
Також, ми повністю змінили нашу документацію API. Тепер ви можете знайти детальну інформацію про глобальні змінні Jest, матчери та кожен прапорець, що підтримується jest
CLI.
2016 в Jest
2016 рік був дуже важливим для JavaScript тестування з Jest. Перші пів року ми переписували Jest і створювали надійну основу для значного підвищення продуктивності та допомоги в тестуванні JavaScript коду. Ми типізували всю базу коду, реалізували багато інтеграційних тестів для самого Jest та додали lerna для перетворення Jest з фреймворку на Платформу Безболісного JavaScript Тестування.
Нещодавно створений react-test-renderer нарешті дозволяє тестування react-native компонентів. Завдяки вбудованому пресету jest-react-native (тепер об’єднаному безпосередньо з react-native), Jest тепер працює для будь-якого проєкту React і йде попередньо сконфігурованим в проєктах create-react-app та react-native. Ми інтегрували базові частини Jest в пакувальник react-native, тож абсолютно нова функція тестування знімками з тих пір використовувалась поза межами Jest: вона була інтегрована з React Storybook у вигляді “storyshots” і додана в інші виконавці тестів, такі як ava.
Jest 16.0: Turbocharged CLI & Оновлення спільноти
Пройшов місяць з моменту останнього великого релізу, а ми вже значно покращили роботу Jest. Цього великого релізу ми оновлюємо формат знімків, що може вимагати оновлення існуючих знімків при оновленні Jest. Ми не вносимо ці зміни бездумно та не розраховуємо робити їх часто, але вважаємо за необхідне час від часу покращувати формат.
Оновлений CLI
Jest 16 включає новий інтерфейс генератора звітів, який показує запущені тести, а також оновлюваний підсумок і смугу прогресу на основі розрахункового часу виконання з попередніх запусків. Ми також покращили вивід CLI для кращої роботи з різними кольоровими схемами. Якщо в попередньому виконанні в тестах були помилки, нині Jest буде запускати ці тести першими, щоб якомога швидше надати корисні дані користувачам.
Jest 15.0: Нові значення за замовчуванням для Jest
Ми провели минулий рік, роблячи Jest швидшим, простим в налаштуванні, додали купу функцій та додали тестування за допомогою знімків. Однак було дві сфери, в яких ми замало інвестували: вивід командного рядка та користувацький досвід. В Jest 15 ми радикально змінюємо фреймворк, щоб полегшити використання початківцями та досвідченими користувачами. Ми задоволені результатами наших інвестицій у Jest: ми можемо дуже швидко рухатись та покращувати фреймворк для Facebook і спільноти відкритого вихідного коду. Мета Jest - максимальне налаштування за замовчуванням, аби вимагати якомога менше необхідної конфігурації. Нещодавно у нас з'явилася можливість пояснити нашу філософію щодо проблеми create-react-app.
Найважливіша зміна - це набір нових значень за замовчуванням. Якщо ви вже користуєтесь Jest, то, швидше за все, вам знадобиться оновит и вашу конфігурацію для Jest 15. У більшості випадків налаштування спроститься та Jest надасть корисні повідомлення про помилки під час оновлення. Всі нові значення за замовчуванням можуть бути відключені відповідно до ваших потреб, але ми все ще вважаємо відключені функції критичними для Jest в певних ситуаціях, тож надалі довгостроково використовуватимемо та підтримуватимемо їх для Facebook. Наша документація API також була повністю переписана відповідно до цих змін. Цей запит для React зазначає деякі зміни, необхідні для наявних проєктів.