반응형
pytest 에서 async 테스트 함수를 실행하는 방법에는 'strict 모드' 와 'auto 모드' 가 있다.
오늘은 손쉽게 비동기 테스트를 할 수 있는 'auto 모드' 에 대해 알아보자.
먼저 pytest-asyncio 를 설치한다.
pip install pytest-asyncio
아래 1번과 2번 중에 하나를 선택하여 파일과 코드를 추가한다.
1번
# pytest.ini
[pytest]
asyncio_mode = auto
2번
# pyproject.toml
[tool.pytest.ini_options]
asyncio_mode = "auto"
이것으로 'auto 모드' 설정이 끝났다.
auto 모드는 pytest.ini 혹은 pyproject.toml 파일에 옵션 코드를 추가하여 async 테스트가 동작하도록 만든다.
이제 다시 pytest 를 실행해보면 비동기 테스트가 동작할 것이다.
추가,
strict 모드는 loop 픽스처, @pytest.mark.asyncio 이나 @pytest_asyncio.fixture 데코레이터, 또는 스크립트 상단에 pytestmark = pytest.mark.asyncio 코드를 추가하는 방법을 말한다.
auto 모드와 strict 모드 에 더 자세히 알고 싶다면 아래 레퍼런스를 참고하기 바란다.
반응형
'나는 이렇게 학습한다 > Debug' 카테고리의 다른 글
SQLAlchemy _ ForeignKey 필드에 name 을 넣어주어야 Alembic 이 downgrade 해줌 (0) | 2023.03.23 |
---|---|
pytest _ 테스트 코드에서 현재 시간 바꾸는 방법 (0) | 2022.11.17 |
python _ traceback 에러 메시지 핸들링하기 (5) | 2022.09.24 |
pytest _ pytest-cov로 coverage 확인하기(실습) (0) | 2022.09.05 |
pytest _ mock 사용하여 테스트 코드 작성하기 (0) | 2022.08.14 |