기본 패턴
python
def add(a, b):
return a + b
def test_add_returns_sum():
assert add(2, 3) == 5설명
- 테스트는 "코드가 지금도 기대한 대로 동작하는가"를 자동으로 확인하는 장치입니다. Python에서는
pytest가 가장 널리 쓰이는 기본 도구 중 하나입니다. pytest의 장점은 문법이 가볍다는 점입니다. 클래스 계층이나 복잡한 boilerplate 없이 함수 단위로 바로 테스트를 쓸 수 있어, 입문자가 구조를 읽기 쉽습니다.- 좋은 테스트는 준비, 실행, 검증이 명확하게 구분됩니다.
fixture는 여러 테스트가 공통으로 쓰는 준비 상태를 재사용할 때 쓰며, 코드 중복을 줄이되 테스트 의도를 흐리지 않게 해 줍니다. - 중요한 것은 테스트 개수보다 실패 메시지의 명확성입니다. 어떤 입력에 대해 어떤 결과를 기대했는지가 한눈에 보여야 수정 속도도 빨라집니다.
- Python을 계속 쓰게 되면 테스트는 선택이 아니라 작업 속도를 지키는 장치가 됩니다. 작은 스크립트라도 핵심 로직은 자동 검증으로 묶어 두는 습관이 오래 갑니다.
빠른 정리
| 요소 | 역할 |
|---|---|
test_ 함수 | 테스트 케이스 |
assert | 기대 결과 검증 |
| fixture | 공통 준비 상태 재사용 |
| 잘 맞는 곳 | 함수, 변환 로직, 비즈니스 규칙 |
주의할 점
테스트가 많아도 준비 과정이 너무 크거나 외부 의존성이 많으면 금방 느리고 불안정해집니다. 핵심 로직부터 작고 빠르게 검증하는 구조가 더 오래 갑니다.
참고 링크
2 sources