У чому різниця між жорсткими та м'якими асерціями?
Коли ви використовуєте жорсткі асерції (hard assertions), якщо будь-яка асерція не пройде, решта коду не буде виконана. По суті, якщо жорстка асерція не проходить, виконання коду припиняється. Це означає, що жодні інші оператори після неуспішної асерції не будуть виконані. Щоб уникнути цього, можна використовувати м'які асерції (soft assertions) замість жорстких.
Жорсткі асерції
Давайте розглянемо, у чому проблема з жорсткими асерціями. Уявіть, що перша асерція (перевірка заголовка сторінки) не пройшла. Якщо ви введете неправильний заголовок і запустите скрипт.
Вона не пройшла, бо решта кроків не були виконані. Окрема асерція не пройшла, і виконання коду було негайно припинено. Як результат, наступні кроки з асерціями не були виконані.
Це проблема з жорсткими асерціями.
Щоб вирішити цю проблему, можна використовувати м'які асерції замість жорстких.
М'які асерції
М'які асерції не припиняють виконання тесту, але позначають його як невдалий. Все, що нам потрібно, це використання поняття "soft".
Виконання не припиняється, тому решта двох асерцій будуть все ще виконані. Це основна перевага використання м'яких асерцій.
Перекладено з: Playwright with Javascript — Hard Assertion vs Soft Assertions