Часто при написании кода на Python возникает ситуация, когда функция предназначена для обработки определенных условий и должна вызывать исключение, если эти условия не выполняются. Например, можно встретить функцию, которая принимает на вход число и ожидает, что это будет положительное число. Если это условие не выполняется, функция вызывает исключение.
def sqrt(number):
if number < 0:
raise ValueError("number must be positive")
return number ** 0.5
В этом случае важно убедиться, что функция действительно вызывает исключение при неправильных условиях. Для этого можно написать тест, который проверяет, что функция вызывает исключение.
Библиотека unittest в Python предоставляет инструмент для тестирования исключений.
import unittest
class TestSqrt(unittest.TestCase):
def test_negative_number(self):
with self.assertRaises(ValueError):
sqrt(-1)
В этом примере тестовый метод test_negative_number проверяет, что функция sqrt вызывает исключение ValueError, когда вызывается с отрицательным числом. Если исключение вызывается, тест проходит, если исключение не вызывается, тест не проходит.
Использование self.assertRaises является стандартным способом тестирования вызова исключений в Python. Этот метод принимает тип исключения и вызываемую функцию, и проверяет, что функция вызывает исключение указанного типа.
Перейти в телеграм, чтобы получить результаты теста





Забрать
Добавить комментарий