Repolode
Erotemic

Erotemic/xdoctest

Python docstring의 예제 코드를 AST 기반 파서로 찾아 실행하는 패키지로, 내장 doctest 모듈을 다시 구현합니다.

스타
221
포크
18
열린 이슈
29
마지막 커밋
3일 전

어떤 프로젝트인가요?

Xdoctest는 Python docstring 안에 작성된 예제 코드인 doctest를 실행합니다. 표준 라이브러리의 doctest 모듈을 다시 구현해 정규식 기반 파서를 Python의 ast 모듈을 사용하는 파서로 바꿨습니다. 덕분에 모든 줄에 일관되게 >>> 접두사를 붙일 수 있고, 별도의 접두사 없이 여러 줄 문자열도 작성할 수 있습니다.

모듈이나 패키지 경로를 지정해 명령줄에서 xdoctest를 실행하거나, --xdoctest 플래그를 활성화해 pytest에서 실행할 수 있습니다. 기본 실행기는 doctest 목록을 출력하거나 전체를 실행할 수 있고, 이름을 지정해 특정 함수의 doctest 하나만 실행할 수도 있습니다. 인자가 없는 함수도 이름으로 실행할 수 있습니다. 파서는 Google 스타일 Example 블록과 자유 형식의 >>> 블록을 모두 지원합니다.

기본적으로 실제 출력과 기대 출력의 비교는 관대하게 처리됩니다. 공백 차이는 무시하고 ELLIPSIS 매칭을 사용하며, 출력된 값이나 최종 값 중 하나만 일치해도 통과합니다. 기대 출력(want)이 없는 테스트는 오류 없이 실행되기만 하면 되므로, 일반적인 assert 문으로 검증할 수 있습니다.

핵심 기능

  • 01정규식 대신 Python의 ast 모듈로 doctest를 파싱합니다.
  • 02PS1과 PS2 줄을 구분할 필요 없이 모든 줄에 >>>를 붙일 수 있습니다.
  • 03--xdoctest 플래그로 pytest와 통합할 수 있습니다.
  • 04doctest 목록 출력, 전체 실행, 특정 doctest 하나의 실행을 지원하는 기본 명령줄 실행기를 제공합니다.
  • 05Google 스타일과 자유 형식의 doctest 파싱 방식을 지원합니다.

활용 사례

  • docstring의 사용 예제를 단위 테스트와 함께 CI에서 실행 가능하게 유지합니다.
  • 코드 변경 후에도 Python 패키지의 문서 예제가 계속 실행되는지 확인합니다.
  • 함수를 개발할 때 docstring에 간단한 데모 입력을 작성합니다.

빠른 시작

  1. 1

    PyPI에서 xdoctest를 설치하세요

    pip install xdoctest
  2. 2

    패키지 또는 모듈의 모든 doctest를 실행하세요

    python -m xdoctest /path/to/your/pkg-or-module.py

사용 전 알아둘 점

  • Python 3.8 이상이 필요합니다.

포함된 컬렉션

토픽

#python#doctest#testing#pytest#docstrings#pytest-plugin

자주 묻는 질문

xdoctest은(는) 무엇인가요?
Python docstring의 예제 코드를 AST 기반 파서로 찾아 실행하는 패키지로, 내장 doctest 모듈을 다시 구현합니다. Xdoctest는 Python docstring 안에 작성된 예제 코드인 doctest를 실행합니다. 표준 라이브러리의 doctest 모듈을 다시 구현해 정규식 기반 파서를 Python의 ast 모듈을 사용하는 파서로 바꿨습니다. 덕분에 모든 줄에 일관되게 >>> 접두사를 붙일 수 있고, 별도의 접두사 없이 여러 줄 문자열도 작성할 수 있습니다.
xdoctest은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
xdoctest은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
xdoctest은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. xdoctest의 마지막 커밋은 2026년 11월 4일입니다.
xdoctest은(는) 어디에 사용할 수 있나요?
docstring의 사용 예제를 단위 테스트와 함께 CI에서 실행 가능하게 유지합니다. 코드 변경 후에도 Python 패키지의 문서 예제가 계속 실행되는지 확인합니다. 함수를 개발할 때 docstring에 간단한 데모 입력을 작성합니다.
xdoctest는 어떻게 설치하나요?
PyPI에서 xdoctest를 설치하세요: pip install xdoctest 패키지 또는 모듈의 모든 doctest를 실행하세요: python -m xdoctest /path/to/your/pkg-or-module.py
xdoctest은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Erotemic/xdoctest

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

관련 프로젝트

최근 코드 변경의 영향을 받은 테스트만 다시 실행하고, 선택적으로 연속 감시 모드도 지원하는 pytest 플러그인입니다.

개발 도구#pytest#testing#python
1천+2 이번 주86PythonMIT활발히 관리됨업데이트 4일 전