Нотатка ·

TIL: soft assertions дозволяють тесту зібрати всі помилки перед зупинкою

Мала тест, що перевіряв шість полів на сторінці підсумку. Щоразу, коли одне поле було неправильним, тест зупинявся — і доводилося виправляти, перезапускати, знаходити наступне зламане поле, повторювати.

Soft assertions у Playwright вирішують це:

await expect.soft(page.getByTestId('name')).toHaveText('Alice');
await expect.soft(page.getByTestId('email')).toHaveText('alice@example.com');
await expect.soft(page.getByTestId('role')).toHaveText('Admin');
// тест продовжується навіть якщо щось вище впало
expect(test.info().errors).toHaveLength(0);

Усі три assertions виконуються незалежно від індивідуальних падінь. Фінальний expect збирає їх усі.

Зручно для перевірки валідації форм, сторінок підсумку та будь-де, де хочеш побачити повну картину зламаного за один запуск.

Обговорення

Коментарі працюють через GitHub (Giscus) і завантажуються лише після натискання. Докладніше