Django에서는 앱을 생성하면 test파일을 자동으로 앱 파일 안에 만들어준다. 하지만 앱의 test파일을 루트 파일 밑에 test 디렉토리를 만들어서 나누는 것은 여러 이점들이 있어서 이렇게 한다고 한다.
Test 파일을 만들어 관리하면 좋은 이유
테스트 코드의 모듈화
테스트 코드를 다양한 파일로 분리함으로써, 테스트 코드의 모듈화가 가능해진다. 이렇게할 경우 특정 부분만 수정해도 전체 테스트 코드를 수정할 필요가 없어져, 유지 보수가 편리해진다.
테스트 코드의 가독성
테스트 코드를 비지니스 로직과 분리하여 작성하면 가독성이 좋아지며, 특정 테크트 케이스를 찾는 것도 용이해진다.
테스트 실행의 효율성
테스트 코드를 파일별로 분리하여 실행하면, 필요한 부분만 테스트를 할 수 있다. 이렇게 할경우 전체 테스트를 진행하는 것 보다 더 빠르게 테스트를 완료할 수 있다.
코드 컨벤션 유지
django에서 앱을 생성하면 위에서 언급했듯 앱 안에 tests.py 파일을 만들어주는데 이 파일로 테스트를 작성해도 되지만 파이썬 코드를 작성할때 사용하는 공식적인 스타일 가이드인 PEP8을 따르지 않기 때문에 개발자들 사이에서 분쟁의 여지가 있다고 한다. 반면 루트 파일 밑에 test파일을 만들어서 관리하여 작성하는것은 PEP8 코드 컨벤션을 따르게 된다.
Test 파일을 만들고 나누는법
앱의 tests.py 삭제
우선 django의 모든 앱에서 tests.py를 삭제하여준다. 여기서의 앱은 startapp을 통해서 생성한 앱들을 이야기한다.
루트 디렉토리 밑에 tests 디렉토리 생성
프로젝트의 루트 디렉토리 밑에 tests 디렉토리를 생성하여준다. 파일의 네이밍인 경우 django에서 권장하는 네이밍이지만 이는 규칙이 아니라 권장사항이므로 사용자의 판단에 따라 다르게 작성해도 된다.
tests 디렉토리 내부에 파일 생성
tests 디렉토리 내부에 __init__.py, test_models.py, test_views.py, test_forms.py등을 만들어준다. 그럼 좌측과 같은 구조가 되면 된다.
'BackEnd > Django, DRF' 카테고리의 다른 글
Django 모델 관계에 대한 이해 - 양방향 참조와 단방향 참조 (0) | 2023.05.23 |
---|---|
Django 추상화 클래스 (0) | 2023.05.11 |
Django 소셜로그인 구현 / 카카오톡 (0) | 2023.05.08 |
Django - settings.py 분리하기(base.py/local.py) (0) | 2023.05.03 |
Django - pipenv로 패키지 관리, 사용 (0) | 2023.04.18 |