0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Каждую проверку, которую мы написали для функции capitalize(), в тестировании принято называть<strong>утверждением</strong>. В этом уроке мы познакомимся с этим понятием подробнее.</p>
1
<p>Каждую проверку, которую мы написали для функции capitalize(), в тестировании принято называть<strong>утверждением</strong>. В этом уроке мы познакомимся с этим понятием подробнее.</p>
2
<h2>Что такое утверждение</h2>
2
<h2>Что такое утверждение</h2>
3
<p>Утверждения - это ключевая часть тестов. Именно они проверяют функциональность кода:</p>
3
<p>Утверждения - это ключевая часть тестов. Именно они проверяют функциональность кода:</p>
4
<p>Можно заметить, что все проверки строятся одинаковым способом. В них есть два компонента:</p>
4
<p>Можно заметить, что все проверки строятся одинаковым способом. В них есть два компонента:</p>
5
<ul><li>Условие</li>
5
<ul><li>Условие</li>
6
<li>Исключение, когда условие не выполнилось</li>
6
<li>Исключение, когда условие не выполнилось</li>
7
</ul><p>Функция напрашивается здесь сама собой, но ее не придется делать. Python уже включает в себя специальную конструкцию assert, которая выполняет ту же задачу.</p>
7
</ul><p>Функция напрашивается здесь сама собой, но ее не придется делать. Python уже включает в себя специальную конструкцию assert, которая выполняет ту же задачу.</p>
8
<p>Конструкция assert выглядит как функция, но все же ею не является. Это специальная инструкция языка, которая принимает на вход выражение, значением которого должно быть True, иначе выбрасывается исключение.</p>
8
<p>Конструкция assert выглядит как функция, но все же ею не является. Это специальная инструкция языка, которая принимает на вход выражение, значением которого должно быть True, иначе выбрасывается исключение.</p>
9
<p>Поэтому все проверки в тестах инвертируются:</p>
9
<p>Поэтому все проверки в тестах инвертируются:</p>
10
<p>При таких тестах assert True означает, что все хорошо, а assert False говорит об ошибке. Если проверка не пройдет, и capitalize() работает некорректно, генерируется исключение с таким сообщением:</p>
10
<p>При таких тестах assert True означает, что все хорошо, а assert False говорит об ошибке. Если проверка не пройдет, и capitalize() работает некорректно, генерируется исключение с таким сообщением:</p>
11
<p>Здесь показано само утверждение, на котором сработало исключение. Кроме сообщения, выводится бэктрейс, по которому можно найти утверждение.</p>
11
<p>Здесь показано само утверждение, на котором сработало исключение. Кроме сообщения, выводится бэктрейс, по которому можно найти утверждение.</p>