ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Django 에서 pytest 사용하기
    Django 2021. 6. 3. 17:33

    1. pytest 설치

    지난 시간 이어서 

    pytest 를 사용하기 위해 새로 설치한다.

     

    pip install pytest-django

    pytest-django를 설치하면 자동적으로 최신버전의 pytest도 같이 설치된다. 

    pytest-django pytest의 플러그인 시스템을 사용하고 특별한 설정 없이 설치 후에 바로 사용 가능하다.

     

    설치 이후, pytest 란 명령어로 실행해보면

    pytest

    다음과 같이 django에서 설정을 해주지 않아서 오류가 발생하고 있는것을 확인된다.

     

    E django.core.exceptions.ImproperlyConfigured: Requested settings, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

     

    2. Django 설정에 pytest 지정하기

    프로젝트 root directory에 pytest.ini 라는 파일을 생성하고 아래의 내용을 작성한다.

    [pytest]
    DJANGO_SETTINGS_MODULE = django_testing.settings

    DJANGO_SETTINGS_MODULE 환경 변수를 설정함으로써, 원하는 --settings=yourproject.settings 옵션을 명시하는 것과 같이 local, dev, production 등을 설정할 수 있다.
    기존 예전 소스 중 모델에 관한 테스트 부분은 주석 처리후,

     

    pytest

    로 실행해보면,

    다음과 같이 warning이 뜨긴 하지만, 테스트가 성공한 것으로 나오고 있습니다.

     

    여기까지가 기본적인 설정이며,

    추가적으로, test 로 시작하는 다른 파일이나 test로 끝나는 파일 등을 적용하기 위해서는 다음과 같이 추가한다.

    python_files = tests.py test_*.py *_tests.py

     

    pytest.ini 내용

    [pytest]
    DJANGO_SETTINGS_MODULE = django_testing.settings
    python_files = tests.py test_*.py *_tests.py

     

    pytest 로 실행해보면,

    다음과 같이 정상 테스트 되는 것을 확인할 수 있다.

    참조 사이트

Designed by Tistory.