Pytest 기본적인 테스트 실행 방법
Pytest 기본적인 테스트 실행 방법
Pytest: 기본적인 테스트 실행 방법
Python 개발자라면 코드의 품질을 유지하기 위해 테스트를 작성하는 것이 중요하다는 것을 잘 알고 계실 것입니다. pytest
는 이러한 테스트를 간편하게 작성하고 실행할 수 있는 인기 있는 테스트 프레임워크입니다. 이 글에서는 pytest
의 기본적인 테스트 실행 방법에 대해 알아보겠습니다.
1. Pytest 설치
테스트를 시작하기 전에, pytest
를 설치해야 합니다. 터미널에서 다음 명령어를 입력하여 설치할 수 있습니다:
pip install pytest
설치가 완료되면, pytest
의 버전을 확인하여 제대로 설치되었는지 확인합니다:
pytest --version
2. 기본적인 테스트 함수 작성
pytest
의 가장 기본적인 테스트 작성 방법은 test_
로 시작하는 함수를 정의하는 것입니다. 아래는 두 수의 합을 테스트하는 예제 코드입니다.
예제 코드: test_sample.py
# 함수 정의
def add(a, b):
return a + b
# 테스트 함수
def test_add():
assert add(2, 3) == 5 # 이 테스트는 성공해야 합니다.
assert add(1, 1) == 2 # 이 테스트도 성공해야 합니다.
3. 테스트 파일 및 디렉토리 구조
테스트 파일은 보통 test_
로 시작하거나 _test
로 끝나는 파일명으로 저장합니다. 위의 예제는 test_sample.py
라는 파일로 저장할 수 있습니다. 일반적인 프로젝트 구조는 다음과 같습니다:
project/
│
├── src/
│ └── my_module.py
│
└── tests/
└── test_sample.py
4. 테스트 실행
테스트를 실행하려면 터미널에서 pytest
명령어를 입력하면 됩니다. 현재 디렉토리의 모든 테스트를 자동으로 발견하여 실행합니다.
pytest
출력 결과 예시:
==================== test session starts ====================
collected 1 item
tests/test_sample.py . [100%]
===================== 1 passed in 0.03s =====================
위의 출력에서 .
는 테스트가 성공적으로 통과했음을 나타냅니다.
5. 상세한 테스트 결과 보기
기본적으로 pytest
는 간략한 결과를 출력하지만, -v
(verbose) 플래그를 추가하면 더 많은 정보를 확인할 수 있습니다:
pytest -v
출력 결과 예시:
==================== test session starts ====================
collected 1 item
tests/test_sample.py::test_add PASSED [100%]
===================== 1 passed in 0.01s =====================
여기서 tests/test_sample.py::test_add PASSED
는 test_add
테스트가 성공했음을 보여줍니다.
6. 특정 테스트 파일 실행
특정 파일의 테스트만 실행하고 싶다면, 해당 파일 경로를 명령어에 포함시킬 수 있습니다:
pytest tests/test_sample.py
이렇게 하면 해당 파일 내의 모든 테스트가 실행됩니다.
7. 특정 테스트 함수 실행
파일 내 특정 테스트 함수만 실행하고 싶을 때는 ::
를 사용하여 함수 이름을 지정할 수 있습니다:
pytest tests/test_sample.py::test_add
위 명령어는 test_sample.py
파일의 test_add
함수만 실행합니다.
8. 실패한 테스트 재실행
테스트가 실패할 경우, --maxfail
옵션을 사용하여 최대 실패 횟수를 설정하고, -v
플래그를 추가하여 상세한 정보를 출력할 수 있습니다:
pytest --maxfail=1 -v
이 명령어는 첫 번째 실패가 발생하면 테스트를 중지합니다.