pytest-dev/pytest-asyncio
테스트 함수에서 코루틴을 실행할 수 있게 해 asyncio 코드를 바로 await하도록 지원하는 pytest 플러그인입니다.
- 스타
- 1,669
- 포크
- 215
- 열린 이슈
- 53
- 마지막 커밋
- 19시간 전
어떤 프로젝트인가요?
pytest-asyncio는 Python의 asyncio 라이브러리로 작성된 코드를 테스트할 수 있도록 지원하는 pytest 플러그인입니다. 테스트 함수를 코루틴으로 선언하면 이벤트 루프 코드를 직접 작성해 감싸지 않고도 테스트 안에서 비동기 호출을 바로 await할 수 있습니다.
테스트에는 asyncio 마커를 지정하며, pytest는 이를 일반 테스트 항목으로 실행합니다. 프로젝트 문서에서는 설정 옵션과 이벤트 루프 및 async fixture 관리 방법을 다룹니다. 설치는 pip 명령 하나로 끝나며, 설치하면 pytest가 플러그인을 자동으로 인식합니다.
이 플러그인은 표준 unittest 라이브러리를 상속한 테스트 클래스를 지원하지 않습니다. 이런 경우에는 unittest.IsolatedAsyncioTestCase나 비동기를 지원하는 프레임워크를 사용하도록 안내합니다.
핵심 기능
- 01asyncio 마커가 지정된 코루틴 테스트 함수를 실행합니다.
- 02테스트 본문에서 비동기 코드를 바로 await할 수 있습니다.
- 03pip로 설치하는 일반적인 pytest 플러그인으로 동작합니다.
- 04설정과 이벤트 루프 관리 방법을 문서화합니다.
활용 사례
- asyncio 기반의 비동기 웹 서비스 핸들러나 클라이언트를 테스트합니다.
- 비동기 데이터베이스 또는 네트워크 라이브러리를 호출하는 통합 테스트를 작성합니다.
- pytest 테스트 모음에서 공유하는 async fixture를 테스트합니다.
빠른 시작
- 1
pip으로 pytest-asyncio를 설치하세요
pip install pytest-asyncio
사용 전 알아둘 점
- unittest를 상속하는 테스트 클래스는 지원되지 않습니다. 대신 unittest.IsolatedAsyncioTestCase를 사용하세요.
포함된 컬렉션
토픽
자주 묻는 질문
- pytest-asyncio은(는) 무엇인가요?
- 테스트 함수에서 코루틴을 실행할 수 있게 해 asyncio 코드를 바로 await하도록 지원하는 pytest 플러그인입니다. pytest-asyncio는 Python의 asyncio 라이브러리로 작성된 코드를 테스트할 수 있도록 지원하는 pytest 플러그인입니다. 테스트 함수를 코루틴으로 선언하면 이벤트 루프 코드를 직접 작성해 감싸지 않고도 테스트 안에서 비동기 호출을 바로 await할 수 있습니다.
- pytest-asyncio은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- pytest-asyncio은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- pytest-asyncio은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. pytest-asyncio의 마지막 커밋은 2026년 11월 5일입니다.
- pytest-asyncio은(는) 어디에 사용할 수 있나요?
- asyncio 기반의 비동기 웹 서비스 핸들러나 클라이언트를 테스트합니다. 비동기 데이터베이스 또는 네트워크 라이브러리를 호출하는 통합 테스트를 작성합니다. pytest 테스트 모음에서 공유하는 async fixture를 테스트합니다.
- pytest-asyncio는 어떻게 설치하나요?
- pip으로 pytest-asyncio를 설치하세요: pip install pytest-asyncio
- pytest-asyncio은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/pytest-dev/pytest-asyncio
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.