🃏 Jest 19: Поглиблений режим спостереження & Покращення тестової платформи
Сьогодні ми із задоволенням публікуємо версію 19 платформи для тестування Jest. Це найбільший реліз Jest, який ми коли-небудь публікували, і ми дуже раді показати вам, що ми створили за останні два місяці:
Поглиблений режим спостереження
Ми повністю переписали режим спостереження, щоб зробити його миттєвим та більш охоплювальним. В результаті, отримуємо поглиблений досвід використання: тести одразу перезапускаються після змін у файлі та ми полегшили вибір правильних тестів.
Оновлення знімків
Ми зробили декілька змін у форматі знімку. Ми не вносимо такі зміни часто і розглядаємо їх додавання, лише якщо вони дійсно покращать роботу знімків. Так само як додавання номера версії знімку, ми акумулювали ряд змін, які ми вже деякий час хотіли внести до формату:
- Ми прибрали префікс “test” в іменах знімків з верхнього рівня
test
абоit
викликів. - Ми покращили вивід елементів React, аби отримувати менше змін при змінах властивостей елементу.
- Ми покращили механізм обходження символів для кращої захищеності.
До цього:
exports[`test snap 1`] = `
<header>
<h1>
Jest \"19\"
</h1>
<Subtitle
name="Painless JavaScript Testing" />
</header>
`;
Після (немає префікса "test", кращий JSX рендеринг, заголовок версії):
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`snap 1`] = `
<header>
<h1>
Jest "19"
</h1>
<Subtitle
name="Painless JavaScript Testing"
/>
</header>
`;
Ми вирішили, що прийшов час ввести версії знімків, щоб гарантувати, що всі розробники використовують сумісні версії Jest. Ось як ми попереджаємо вас про необхідність оновлення вашого знімку:
Переконайтеся, що ви скасували всі локальні зміни перед оновленням, аби зробити перехід безпроблемним і переконатись, що жодні небажані зміни від провальних тестів не були додані в нові знімки.
Вдосконалений вивід пропущених тестів
Пропущені тести виводяться єдиним рядком замість виводу кожного окремого тесту при тестува нні в детальному режимі або одному наборі. Сподіваємось, це дозволить вам сфокусуватися на важливих тестах. Також це займає значно менше простору!
Нові аргументи CLI
Jest 19 публікується з двома новими аргументами покриття, які ви можете запустити з командного рядка:
--collectCoverageFrom
--coverageDirectory
Тепер ми також виводимо неприпустимі аргументи CLI, не ігноруючи їх. Але ми допоможемо вам корисними повідомленнями про помилки(зразок наведено нижче); наприклад, коли ви намагаєтесь запустити jest --watch
:
Покращення expect
Ми наближуємось до майже повного паритету функцій в npm пакеті expect
. Michael Jackson, автор пакету, погодився пожертвувати його проєкту Jest, що означає, що jest-matchers
буде перейменовано на expect
. Оскільки наша версія expect
не розроблялась з урахуванням повної сумісності, Christopher Chedeau працює над codemod, щоб зробити перехідним безпроблемним. Christopher також працював над низкою покращень для jest-matchers
, які дозволять використання поза межами Jest і навіть всередині браузерів.
eslint-plugin-jest – our very own ESLint plugin
Завдяки Jonathan Kim, Jest нарешті має свій офіційний плагін ESLint. Він містить три правила:
- no-disabled-tests - this rule prevents you from accidentally committing disabled tests.
- no-focused-tests - this rule prevents you from committing focused tests which would disable all other tests in the same suite.
- no-identical-title - disallows identical titles in test names.
Ви можете встановити його за допомогою npm install --save-dev eslint-plugin-jest
або yarn add --dev eslint eslint-plugin-jest
, і він може бути включений шляхом додавання {"plugins": ["jest"]}
до вашої конфігурації eslint.
Новий публічний пакет: jest-validate
Коли ми переробили код перевірки та нормалізації для конфігурації Jest, ми були настільки задоволені новими повідомленнями про помилки, що ми виділили його в окремий модуль, щоб поділитися з іншими. З Jest 19 ми раді додати jest-validate
до нашої самостійної родини пакетів.
jest-validate
- це узагальнений інструмент перевірки конфігурації, який допоможе вам попередженнями, помилками та повідомленнями про застарілість в вашому інструменті JavaScript. Він також здатен показувати зручні для користувачів приклади правильних налаштувань та надає простий, але потужний API. Сподіваємось, це стане гарним доповненням до ваших проєктів!
Ми раді повідомити, що jest-validate
перевіряє параметри конфігурації prettier, починаючи з v0.12. Додавайте його до свого проєкту, спробуйте, надішліть нам відгук та допомагайте з покращенням, роблячи запити на ухвалення змін на GitHub.