В чем смысл юнит-тестов?
# bank.py
def calculate_interest(amount, rate, years):
if amount < 0 or rate < 0 or years < 0:
raise ValueError("Параметры должны быть неотрицательными")
return amount * (1 + rate / 100) ** years# test_bank.py
import pytest
from bank import calculate_interest
def test_simple_case():
assert calculate_interest(1000, 10, 1) == 1100
def test_multiple_years():
assert calculate_interest(1000, 10, 2) == pytest.approx(1210, rel=1e-3)
def test_zero_rate():
assert calculate_interest(1000, 0, 5) == 1000
def test_invalid_input():
with pytest.raises(ValueError):
calculate_interest(-1000, 10, 1)PreviousКакие типы тестов имеет смысл автоматизировать в первую очередь, а какие лучше оставить ручными?NextКак будете тестировать программу, если для продукта нет документации?
Last updated