Repolode
gabrielcnr

gabrielcnr/pytest-datadir

테스트 데이터 디렉터리를 임시 폴더에 복사해 테스트에서 픽스처 파일을 안전하게 읽고 수정할 수 있게 해주는 pytest 플러그인입니다.

스타
277
포크
28
열린 이슈
8
마지막 커밋
4일 전

어떤 프로젝트인가요?

pytest-datadir를 사용하면 테스트 파일과 함께 저장된 데이터 파일에 접근할 수 있습니다. 기본적으로 test_hello.py라는 테스트 모듈에서는 datadir 픽스처를 통해 이름이 같은 test_hello/ 디렉터리를 사용할 수 있고, 최상위 data/ 폴더는 shared_datadir로 제공됩니다. 두 픽스처 모두 pathlib.Path 객체를 반환하므로 표준 경로 연산으로 파일을 읽을 수 있습니다.

각 테스트마다 데이터 디렉터리의 내용을 임시 위치에 복사합니다. 따라서 테스트에서 파일을 쓰거나 수정해도 원본 픽스처나 다른 테스트에는 영향을 주지 않습니다. 버전 1.7.0에 추가된 lazy_datadir 및 lazy_shared_datadir 픽스처는 joinpath 또는 / 연산자로 파일에 접근할 때만 복사하므로, 테스트에서 사용하지 않는 대용량 디렉터리의 불필요한 복사를 피할 수 있습니다.

핵심 기능

  • 01datadir 픽스처를 통해 모듈별 데이터 디렉터리를 제공합니다.
  • 02shared_datadir 픽스처를 통해 공유 데이터 디렉터리를 제공합니다.
  • 03데이터를 임시 폴더에 복사해 원본 파일을 변경하지 않도록 합니다.
  • 04lazy_datadir 및 lazy_shared_datadir를 제공해 파일에 접근할 때만 복사합니다.
  • 05픽스처에서 pathlib.Path 객체를 반환합니다.

활용 사례

  • 파서 및 파일 처리 테스트에 사용할 샘플 입력 파일이나 픽스처를 저장합니다.
  • 원본 픽스처에 영향을 주지 않고 파일을 생성하거나 수정하는 테스트를 작성합니다.
  • 전역 데이터 폴더 하나로 여러 테스트 모듈에서 공통 테스트 데이터를 공유합니다.

사용 전 알아둘 점

  • 저장소 메타데이터에는 라이선스가 NOASSERTION으로 표시되어 있지만 README에는 MIT라고 적혀 있습니다. 사용하기 전에 라이선스를 확인하세요.

포함된 컬렉션

토픽

자주 묻는 질문

pytest-datadir은(는) 무엇인가요?
테스트 데이터 디렉터리를 임시 폴더에 복사해 테스트에서 픽스처 파일을 안전하게 읽고 수정할 수 있게 해주는 pytest 플러그인입니다. pytest-datadir를 사용하면 테스트 파일과 함께 저장된 데이터 파일에 접근할 수 있습니다. 기본적으로 test_hello.py라는 테스트 모듈에서는 datadir 픽스처를 통해 이름이 같은 test_hello/ 디렉터리를 사용할 수 있고, 최상위 data/ 폴더는 shared_datadir로 제공됩니다. 두 픽스처 모두 pathlib.Path 객체를 반환하므로 표준 경로 연산으로 파일을 읽을 수 있습니다.
pytest-datadir은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
pytest-datadir은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
pytest-datadir은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. pytest-datadir의 마지막 커밋은 2026년 11월 3일입니다.
pytest-datadir은(는) 어디에 사용할 수 있나요?
파서 및 파일 처리 테스트에 사용할 샘플 입력 파일이나 픽스처를 저장합니다. 원본 픽스처에 영향을 주지 않고 파일을 생성하거나 수정하는 테스트를 작성합니다. 전역 데이터 폴더 하나로 여러 테스트 모듈에서 공통 테스트 데이터를 공유합니다.
pytest-datadir은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/gabrielcnr/pytest-datadir

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

작은 테스트부터 애플리케이션과 라이브러리의 복잡한 기능 테스트까지 쉽게 작성할 수 있는 Python 테스트 프레임워크입니다.

1.5만+14 이번 주3.6천PythonMIT활발히 관리됨업데이트 그저께