Каждую проверку, которую мы написали для функции capitalize()
, в тестировании принято называть утверждением. В этом уроке мы познакомимся с этим понятием подробнее.
Утверждения — это ключевая часть тестов. Именно они проверяют функциональность кода:
from capitalize import capitalize
if capitalize('hello') != 'Hello':
raise Exception('Функция работает неверно!')
if capitalize('') != '':
raise Exception('Функция работает неверно!')
print('Все тесты пройдены!')
Можно заметить, что все проверки строятся одинаковым способом. В них есть два компонента:
Функция напрашивается здесь сама собой, но ее не придется делать. Python уже включает в себя специальную конструкцию assert
, которая выполняет ту же задачу.
Конструкция assert
выглядит как функция, но все же ею не является. Это специальная инструкция языка, которая принимает на вход выражение, значением которого должно быть True
, иначе выбрасывается исключение.
Поэтому все проверки в тестах инвертируются:
from capitalize import capitalize
assert capitalize('') == ''
assert capitalize('hello') == 'Hello'
https://replit.com/@hexlet/python-testing-asserts
При таких тестах assert true
означает, что все хорошо, а assert false
говорит об ошибке. Последний вариант — если функция capitalize()
работает некорректно, выбрасывает исключение с таким сообщением:
Traceback (most recent call last):
File "main.py", line 11, in <module>
assert capitalize('hello') == 'Hello'
AssertionError
Здесь показано само утверждение, на котором сработало исключение. Кроме сообщения, выводится бэктрейс, по которому можно найти утверждение.
Вам ответят команда поддержки Хекслета или другие студенты.
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт