Очікуваний збій усе одно запускає тест.
Розрізняйте очікуваний дефект, пропуск і неочікуваний успіх.

Перекладне видання. Технічні ідентифікатори залишаються в оригінальній формі.

Команда пропускає відомий невдалий тест. Тіло більше не виконується, звіт не показує відтворюваність дефекту. Playwright має анотацію очікуваного збою: тест запускається, успіх стає неочікуваним.
Посібник з анотацій розрізняє skip(), fail() і fixme(). skip не виконується, fail виконується й очікує збій. fixme підходить повільній роботі чи аварії. Обирайте за змістом та операційними межами.
Обмежте приклад
Приклад порівнює два фіксовані рядки. Розбіжність навмисна, без реального дефекту, браузерної дії чи акаунта. Інший приклад робить рядки рівними й зберігає fail: неочікуваний успіх та ненульовий код завершення.
import { test, expect } from '@playwright/test';
test('controlled expected mismatch', async () => {
test.fail(true, 'Invented mismatch for annotation demonstration');
expect('actual demo value').toBe('expected demo value');
});Запускайте через раннер Playwright, не звичайний JavaScript. Звіт зберігає помилку твердження й очікуваний статус. Успішне завершення раннера означає відповідність збою очікуванню, не рівність рядків.
Читайте фактичну помилку
Анотація не прив'язує збій до одного твердження. Якщо першою ламається підготовка, статус може збігтися без досягнення дефекту. Спрощуйте підготовку, читайте помилку й записуйте виконане твердження. Неочікувана помилка входу чи середовища не доводить відомий дефект.
Для реального випадку зберігайте правильну поведінку у твердженні, перевірюване посилання й власника. Не переписуйте для прийняття дефекту. Не вигадуйте посилань: цей приклад має лише опис.
Обмежте умовну анотацію ураженою конфігурацією. Дефект в одному браузері не виправдовує fail усюди. Перевіряйте умову й статус із входами, не ховайте їх у віддаленому помічнику.
Перевірте неочікуваний успіх
Він може означати виправлення, інший шлях або слабше твердження. Перевірте до видалення анотації. Після підтвердження правильної поведінки збережіть звичайне покриття замість постійного винятку.
Раннер розрізняє виконану очікувану розбіжність, виконану рівність із неочікуваним успіхом та невиконане пропущене тіло. Це механіка анотацій, не готовність релізу.
Небезпечна чи дорога робота потребує окремого рішення. Очікуваний збій не дозволяє руйнівні дії, витрати чи виробничі дані. Назвіть пропущене покриття й причину відсутності перевірки.
AnyTest описує тести для людського огляду. Перевіряйте винятки, твердження й підготовку однаково уважно. Конкретна інтеграція AnyTest із дефектами не заявлена. Справжні винятки потребують власника й дати наступного огляду.
Збережіть фактичний текст помилки та місце твердження у звіті. Очікуваний статус без цих даних не показує, що відбулося під час виконання.
Загальні запитання
Чи пропускає test.fail тіло?
Ні. Тест виконується й очікує помилку.
Чи доводить очікуваний збій потрібний дефект?
Ні. Перевірте фактичну помилку та досягнуте твердження.