Python Academy
48.4K subscribers
1.15K photos
3 videos
393 links
Python Academy — один канал вместо тысячи учебников

Чат канала: @python_academy_chat

Сотрудничество: @zubar89

Канал включён в перечень РКН: https://rkn.link/TVu
加入频道
Assert

Если выполнить инструкцию assert с логическим выражением, результат которого равен True, ничего не произойдет. Но если попробовать выполнить инструкцию assert с логическим выражением, которое равно False, то будет сгенерировано исключение AssertionError.

Исключения AssertionError предназначены скорее для программистов. При написании программ на этапе разработки мы должны видеть, что делаем что-то не так (к примеру, передали в функцию некорректное значение).

Не нужно, например, обрабатывать пользовательский ввод и пытаться обработать исключение AssertionError блоком try except. Если таких мест будет очень много, то это затронет и производительность программы.

#исключения #assert
Тестирование на pytest

pytest — ближе по духу к языку Python нежели unittest, которая накладывает определенные обязательства при разработке тестов. Например, создание классов-наследников от TestCase или выполнение определенной процедуры запуска тестов.

Но при разработке на pytest ничего этого делать не нужно. Вы просто пишете функции, которые должны начинаться с "test_" и используете assert, встроенные в Python.

Также он поддерживает запуск тестов на unittest и nose, то есть полная обратная совместимость с ними.

#тестирование #pytest #assert