요약
이 모듈에서는 더 표현적이고 유지 관리 가능한 테스트를 작성하는 데 도움이 되는 테스트 기능을 살펴보했습니다. 여러 입력 값을 사용하여 동일한 테스트 함수를 실행하는 데 사용 @pytest.mark.parametrize 했습니다. Pytest는 각 매개 변수 집합을 별도의 테스트 사례로 수집하므로 보고서에서 전달되거나 실패한 입력을 정확하게 식별할 수 있습니다.
또한 설비 기기들을 다루는 업무를 수행하셨습니다. Fixtures는 재사용 가능한 설정 코드를 제공하고, 함수 인자를 통해 테스트 의존성을 명확히 하며, yield 기반의 정리 작업과 적절한 피처 범위를 사용하여 정리를 관리할 수 있습니다. 매개변수화된 테스트를 작성하고 xUnit 스타일의 setup_method() 클래스 기반 테스트를 teardown_method() 임시 파일 처리를 위해 pytest의 tmp_path 픽스처를 사용하는 사용자 정의 픽스처로 전환하여 이러한 아이디어를 적용했습니다. 또한 tmp_path처럼 각 테스트 함수 호출에 대한 임시 디렉토리를 제공하는 것과, 특성, 사전 값, 환경 변수, pathlib.Path 또는 현재 작업 디렉터리를 일시적으로 변경한 후 요청한 테스트나 고정물이 완료되면 해당 변경 사항을 복원하는 monkeypatch 등의 기본 제공 고정물을 검토했습니다.
이제 다음을 수행할 수 있습니다.
- 매개 변수화를 사용하여 테스트 함수를 반복하지 않고 여러 입력을 처리합니다.
- pytest 출력을 읽어 어떤 매개 변수 값이 통과하거나 실패할지 진단합니다.
- 사용자 지정 설비를 만들어 설정 및 정리 논리를 공유합니다.
- 설치가 실행되는 빈도와 정리가 수행되어야 하는 시기에 따라 설비 범위를 선택합니다.
- 공유 픽스처는
conftest.py에 배치하면, 같은 디렉터리 및 하위 디렉터리의 테스트에서 명시적인 임포트 없이도 이를 사용할 수 있습니다. -
tmp_path임시 파일 및monkeypatch범위 지정 상태 변경과 같은 기본 제공 픽스처를 사용하여 파일, 환경 변수, 가져오기 또는 외부 상태에 의존하는 테스트를 격리합니다.
자세한 내용은 테스트 매개변수화, 픽스처, 기본 제공 픽스처, 임시 디렉터리 및 파일, xUnit 스타일 설정 및 monkeypatch에 대한 pytest 문서를 참조하세요.