pytest는 「파이썬에서 가장 인기 있는 테스트 프레임워크」입니다.
unittest보다 훨씬 간결하고 강력한 기능(픽스처·파라미터화·플러그인 생태계)을 가졌습니다.
새 프로젝트는 거의 pytest를 권장.
최소 예시.
def test_add(): assert 1 + 1 == 2.
클래스도 self도 필요 없음.
assert 한 줄.
실행 — pytest 명령.
test_*.py 또는 *_test.py 파일을 자동 발견하고, test_*로 시작하는 함수를 모두 실행.
assert가 똑똑함.
assert x == 5 실패 시 「실제 값이 3이고 비교 대상이 5」라는 자세한 메시지를 자동으로.
unittest의 assertEqual처럼 메서드 이름을 외울 필요 없음.
출력과 옵션.
pytest -v(자세히), -s(print 출력 보기), -k "키워드"(이름 매칭만 실행), -x(첫 실패에서 중단), --pdb(실패 시 디버거 진입).
옵션이 풍부해 디버깅 친화적.
플러그인 생태계.
pytest-cov(커버리지), pytest-mock(모킹), pytest-django, pytest-asyncio(async), pytest-xdist(병렬 실행).
거의 모든 필요가 플러그인으로 채워져 있어 「조립식 테스트 환경」을 만들 수 있습니다.
한 줄 요약
pytest는 모던 파이썬의 테스트 표준입니다.
함수만으로 작성 가능한 간결함, 똑똑한 assert, 풍부한 옵션·플러그인 생태계가 강점.
더 알아볼 것
- pytest 자동 발견 규칙
- -k와 마커로 선택 실행
- conftest.py — 공유 픽스처