← Python мануфактура

Конспект і таймкоди

0:00

Які оператори потрібні в автоматизації

Оператори відповідають на практичні питання: чи збіглося actual з expected, чи значення ініціалізоване, чи виконано дві умови, чи status code належить дозволеному набору та як порахувати очікувану кількість сторінок або total price.

1:30

`==`, `!=`, `assert` та `is None`

== і != порівнюють значення. assert actual == expected у разі розбіжності показує вираз і значення, що прискорює діагностику тесту. is перевіряє identity об’єкта, тому для рядків і чисел потрібне ==; типовий коректний automation-випадок для identity — value is None.

3:30

Логічні `and` та `or`

and повертає truthy результат лише коли правдиві обидві сторони, наприклад status code 201 і наявний user ID. Для or достатньо однієї правдивої умови, наприклад response code 200 або 201. У тестах кілька зрозумілих assertions часто діагностуються краще за одну велику складену умову.

5:00

`not`, `in` і `not in`

not errors є короткою перевіркою порожнього списку. browser in supported_browsers і browser not in supported_browsers прямо виражають membership та прибирають ручний цикл. Для allowlist status codes зручно використовувати set: status_code in {200, 204}.

6:30

Membership у словнику

Оператор in для dict перевіряє ключі, а не values. Тому "email" in response відповідає на питання, чи API повернув поле, незалежно від його поточного значення; для перевірки значення потрібне окреме звернення за ключем.

7:02

Арифметика та округлення expected value

Expected result іноді треба обчислити: кількість товарів множиться на ціну, pagination використовує ділення та залишок. Через особливості floating-point результат на кшталт 3 * 9.99 доцільно округлити через round(value, 2) перед грошовим порівнянням; це не перетворює float на точний financial type, але відповідає навчальному прикладу.

9:00

Розширені порівняння

Для самостійної роботи залишено порівняння status codes з allowlist, subset-перевірки products, ranges, dictionary keys і конвертацію часових одиниць. Кожну умову варто прочитати вголос як бізнес-твердження: так простіше помітити неправильну межу або переплутаний оператор.