Jest 15.0: Нові значення за замовчуванням для Jest
Ми провели минулий рік, роблячи Jest швидшим, простим в налаштуванні, додали купу функцій та додали тестування за допомогою знімків. Однак було дві сфери, в яких ми замало інвестували: вивід командного рядка та користувацький досвід. В Jest 15 ми радикально змінюємо фреймворк, щоб полегшити використання початківцями та досвідченими користувачами. Ми задоволені результатами наших інвестицій у Jest: ми можемо дуже швидко рухатись та покращувати фреймворк для Facebook і спільноти відкритого вихідного коду. Мета Jest - максимальне налаштування за замовчуванням, аби вимагати якомога менше необхідної конфігурації. Нещодавно у нас з'явилася можливість пояснити нашу філософію щодо проблеми create-react-app.
Найважливіша зміна - це набір нових значень за замовчуванням. Якщо ви вже користуєтесь Jest, то, швидше за все, вам знадобиться оновити вашу конфігурацію для Jest 15. У більшості випадків налаштування спроститься та Jest надасть корисні повідомлення про помилки під час оновлення. Всі нові значення за замовчуванням можуть бути відключені відповідно до ваших потреб, але ми все ще вважаємо відключені функції критичними для Jest в певних ситуаціях, тож надалі довгостроково використовуватимемо та підтримуватимемо їх для Facebook. Наша документація API також була повністю переписана відповідно до цих змін. Цей запит для React зазначає деякі зміни, необхідні для наявних проєктів.
Нові повідомлення про помилки та підсумок CLI
В процесі поступового видалення Jasmine з Jest, майже завершено заміну всі матчерів Jasmine. Багато часу було витрачено на налаштування кожного повідомлення про помилку, аби кожен матчер якнайкраще сигналізував падіння тестів - момент, коли Jest є найбільш важливим. Окрім виводу очікуваних і отриманих значень, виводиться різниця між матчерами toBe
та toEqual
для спрощення пошуку помилок. Додано більше кольорів, відповідні файли зі стеку більш виділяються.
Порівняння раніше і після у світлій темі терміналу: Також працює з темнішими кольорами:
Нова команда watch
Ми повністю переписали jest --watch
для більшої інтерактивності. Тепер вона можна перемикатися між запуском всіх тестів або лише тестовими файлами, які стосуються змінених файлів, натисканням а
або o
. Натискання p
дозволить вказати тестовий шаблон для фокусування на певному наборі файлів. Тести з використанням знімків оновлюються натисканням u
.
Вдосконалення jest-react-native
Додано імітації для ListView
, TextInput
, ActivityIndicator
, ScrollView
та інших. Наявні імітації були оновлені для використання реальних реалізацій, тож наявні знімки, ймовірно, повинні бути оновлені при оновленні до Jest 15. До jest-react-native
додана функція mockComponent
, яку можна використовувати для імітації глобальних компонентів:
jest.mock('MyNativeComponent', () => {
const jestReactNative = require('jest-react-native');
return jestReactNative.mockComponent('MyNativeComponent');
});
Також додалось багато покращень імітацій зображень, модулю fetch та інших вбудованих API.