Pytest는 테스트를 실행하고 관리하기 위한 강력한 테스트 프레임워크입니다. pytest.ini 파일은 pytest의 동작을 제어하고 사용자 정의 설정을 구성하기 위해 사용됩니다. 이 파일을 사용하여 다양한 설정을 조정하고 테스트를 최적화할 수 있습니다.
pytest.ini 파일 생성
가장 먼저 pytest.ini 파일을 생성해야 합니다. 프로젝트 루트 디렉토리에 pytest.ini 파일을 생성하거나 이미 존재하는 파일을 수정할 수 있습니다.
설정 예시
아래는 pytest.ini 파일에서 설정을 구성하는 간단한 예시입니다.
[pytest]
addopts = -s -v
markers =
slow: marks tests as slow (useful for skipping them during development)
integration: marks integration tests which may communicate with external services
api: marks tests that interact with APIs
위의 예시에서 [pytest]
섹션은 pytest 구성 옵션을 나타냅니다. addopts
옵션은 pytest 실행 시 사용할 추가 옵션을 지정합니다. -s
옵션은 표준 출력을 활성화하고 -v
옵션은 테스트 결과를 자세하게 출력합니다.
markers
옵션은 사용자 정의 마커를 정의하는데 사용됩니다. 마커는 테스트를 그룹화하거나 필터링하는데 도움이 됩니다. 위의 예시에서는 slow
, integration
, api
라는 세 가지 마커를 정의하였습니다.
pytest.ini 설정 옵션
pytest.ini 파일에서 설정을 사용자 정의할 수 있는 다양한 옵션이 있습니다. 아래는 일반적으로 사용되는 몇 가지 옵션입니다.
addopts
: pytest 실행 시 추가 옵션을 지정합니다. 이를 통해 pytest의 동작을 조정하고 여러 기능을 활성화할 수 있습니다.markers
: 사용자 정의 마커를 정의하고 테스트를 그룹화하거나 필터링하는데 사용합니다.norecursedirs
: 특정 디렉토리를 재귀적으로 검색하는 것을 제외할 수 있습니다. 이를 통해 특정 디렉토리의 테스트를 자동으로 실행되지 않도록 막을 수 있습니다.testpaths
: 테스트를 실행할 디렉토리 또는 파일을 지정할 수 있습니다. 기본적으로 pytest는 현재 디렉토리와 하위 디렉토리에서 테스트를 자동으로 발견합니다.filterwarnings
: pytest 실행 시 어떤 경고 메시지를 필터링하거나 무시할지 설정할 수 있습니다.
결론
pytest.ini 파일을 활용하여 pytest의 동작을 제어하고 사용자 정의 설정을 구성할 수 있습니다. pytest의 다양한 설정 옵션을 활용하면 테스트를 더욱 효율적으로 관리하고 최적화할 수 있습니다. 이를 통해 개발 프로세스를 향상시키고 테스트 수행의 품질을 높일 수 있습니다.