요약

완료됨

이 모듈에서는 더 표현적이고 유지 관리 가능한 테스트를 작성하는 데 도움이 되는 테스트 기능을 살펴보했습니다. 여러 입력 값을 사용하여 동일한 테스트 함수를 실행하는 데 사용 @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 문서를 참조하세요.