Вопрос проверяет понимание базовых принципов тестирования функций и умение выделять необходимые тестовые сценарии.
Для функции с числовым входом обычно пишут тесты на корректные значения, краевые случаи и некорректные входные данные. Также проверяют работу на больших и малых числах. Если функция зависит от точности вычислений, добавляют тесты с допустимой погрешностью. Такой набор позволяет выявить большинство ошибок.
При тестировании числовой функции важно покрыть разные категории входных данных.
Это тесты, которые проверяют обычную работу функции.
Пример:
def test_basic():
assert func(4) == 2
Такие тесты показывают, что основной сценарий работает правильно.
Определение:
Краевые значения — это значения на границе допустимого диапазона.
Примеры:
Ноль
Минимальное допустимое значение
Максимальное значение
def test_zero():
assert func(0) == 0
Проверяют:
Отрицательные числа
Строки
None
import pytest
def test_invalid():
with pytest.raises(ValueError):
func(-1)
Если результат дробный:
def test_float():
assert abs(func(2) - 1.4142) < 0.001
Надежные тесты должны покрывать обычные случаи, границы диапазона, ошибки ввода и особенности вычислений.