SteadyDrills

pytest 테스트 프레임 워크 본문

PYTHON

pytest 테스트 프레임 워크

Drills 2025. 1. 20. 23:39

250120

 

pytest란?

Python에서 가장 널리 사용되는 테스트 프레임워크로 단위 테스트, 기능 테스트, 통합 테스트 등을 쉽게 작성하고 실행할 수 있다. 기본적인 assert 문을 사용하여 테스트를 작성하며 초보자도 쉽게 시작할 수 있다.

 

pytest의 장점

  • 간결한 문법: assert를 사용하여 직관적인 테스트 작성 가능

  • 자동화된 테스트 검색: 파일을 수동으로 지정할 필요 없이, 특정 패턴(test_*. py, *_test.py )을 따르는 테스트를 자동으로 감지
my_project/
├── my_module.py
└── tests/
    ├── test_my_module.py
    └── __init__.py
  • 유연한 테스트 실행: 특정 테스트만 실행하거나 실패한 테스트를 다시 실행하는 기능 제공

    pytest <파일명.py> 특정 파일의 모든 테스트를 실행
    pytest <파일명.py>::<테스트 함수명> 특정 파일의 특정 테스트 함수만 실행
    pytest <파일명.py>::<클래스명> 특정 파일의 특정 클래스 내 모든 테스트 메서드를 실행
    pytest <파일명.py>::<클래스명>::<테스트 함수명> 특정 파일의 특정 클래스 내 특정 테스트 함수만 실행
     

상세한 실패 보고: 테스트 실패 시 매우 자세한 정보를 제공

 

 

pytest의 단점

 

  • 일부 고급 기능의 학습 곡선이 있음
  • 대규모 테스트 스위트에서 실행 속도가 느릴 수 있음
  • 일부 플러그인의 호환성 문제 가능성

 

 

공식문서: https://docs.pytest.org/en/stable/