Нотатка ·
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 збирає їх усі.
Зручно для перевірки валідації форм, сторінок підсумку та будь-де, де хочеш побачити повну картину зламаного за один запуск.