Code không có test giống như đi trên dây không lưới. Pytest là framework kiểm thử phổ biến và dễ dùng nhất của Python, giúp bạn tự tin rằng code chạy đúng.
Vì sao cần viết test?
- Phát hiện lỗi sớm, trước khi lên production.
- Tự tin sửa/mở rộng code mà không sợ làm hỏng cái cũ.
- Test cũng là tài liệu mô tả cách code hoạt động.
Cài đặt
pip install pytest
Viết test đầu tiên
# tinh_toan.py
def cong(a, b):
return a + b
# test_tinh_toan.py
from tinh_toan import cong
def test_cong():
assert cong(2, 3) == 5
assert cong(-1, 1) == 0
Chạy test
pytest # chạy mọi file test_*.py
pytest -v # chi tiết
pytest test_x.py # chạy một file
Kiểm tra ngoại lệ
import pytest
def test_chia_cho_khong():
with pytest.raises(ZeroDivisionError):
1 / 0
Fixture — chuẩn bị dữ liệu dùng chung
@pytest.fixture
def du_lieu_mau():
return [1, 2, 3]
def test_tong(du_lieu_mau):
assert sum(du_lieu_mau) == 6
Thói quen tốt
Viết test cho những phần logic quan trọng nhất trước. Mỗi khi sửa lỗi, hãy thêm một test để lỗi đó không quay lại. Dần dần, bộ test trở thành tấm lưới an toàn cho cả dự án.
