소프트웨어 개발에서 가장 작은 단위(보통 함수나 메서드)를 독립적으로 테스트하는 것
| 이유 | 설명 |
|---|---|
| 🛠 코드가 원하는 대로 동작하는지 자동 검증 | 수동으로 일일이 확인할 필요 없음 |
| 🔄 리팩터링/수정 시 실수 방지 | 기존 기능이 망가지지 않았는지 확인 가능 |
| 🧩 모듈별 개발 및 디버깅에 유리 | 전체 앱이 없어도 개별 함수만 테스트 가능 |
| 🤝 협업 시 신뢰성 확보 | 다른 개발자가 고쳤을 때 기능이 망가졌는지 바로 알 수 있음 |
함수: 두 수의 합을 리턴하는 함수
def add(a, b):
return a + b
유닛 테스트: "add 함수에 2와 3을 넣었을 때 결과가 5가 맞는지"를 확인하는 유닛 테스트
def test_add():
assert add(2, 3) == 5
| 특징 | 설명 |
|---|---|
| 작고 빠름 | 한 번 실행하는 데 0.01초도 안 걸릴 수 있음 |
| 독립적 | 다른 함수나 시스템에 의존하지 않음 |
| 반복 실행 가능 | 언제든지 자동으로 실행해서 신뢰성 검증 |
add() 함수를 pytest로 테스트 하기(VSCode 기준)mkdir pytest
cd pytest
code .
code . 를 입력하면 생성된 pytest 폴더가 열림.
calculator.py 만들기def add(a, b):
return a + b
python3 -m venv venv # 최초 한 번만
source venv/bin/activate # 매번 터미널 열 때마다
pip install pytest
설치 확인:
pytest --version
test_calculator.py라는 새 파일 생성 후 아래 입력:
from calculator import add
def test_add():
assert add(2, 3) == 5
assert add(-1, 1) == 0
assert add(0, 0) == 0
test_로 시작하는 파일명, 함수명 필수! 그래야pytest가 자동으로 찾습니다.
Cmd+Shift+P (Mac) 또는 Ctrl+Shift+P (Win/Linux)Python: Configure Tests 입력 → 선택pytest 선택.(현재 폴더) 선택
이제 add() 함수에 대한 유닛 테스트가 pytest로 성공적으로 돌아갑니다!
앞으로 팀과제에서 어떤 함수든 이렇게 테스트할 수 있어요.