본문 바로가기

Django Test - pytest, reuse, create db, migration 등 간단 소개 pytest -p no:warnings DJANGO TEST - PYTEST pytest를 사용하면 테스트 데이터베이스를 다시 만들지 않아도 되니까 테스트 시작 속도가 빠르죠. 그래서 많이들 사용하시는 것 같습니다. 저도 테스트 할 때 pytest로 돌리는데 일단 ini는 기본적으로 reuse 옵션을 주고 돌립니다. 이유는 이미 생성된 test db를 사용하고 싶기 때문이죠. pytest -s --reuse-db 하지만 처음 테스트를 돌리거나 모델(model)의 변경이 있었다면 기존 test db 구조와 테스트가 돌아가는 코드가 맞지 않겠죠. 예를 들어서 없는 테이블에 접근하려고 한다거나? 없는 컬럼을 사용해서 테스트 한다거나 등등 그럴 때는 --create-db 옵션을 주고 돌립니다. 다시 정리하면 p.. 더보기
Django Mysql Warning - utf8mb4 Django에서 DB를 mysql로 사용하는 경우에 아래와 같은 WARNING을 만나게 되는 경우가 있습니다. django_mysql.W003 The character set is not utf8mb4 for database connection 'default' HINT: The default 'utf8' character set does not include support for all Unicode characters. It's strongly recommended you move to use 'utf8mb4'. See: https://django-mysql.readthedocs.io/en/latest/checks.html#django-mysql-w003-utf8mb4 해당 문서를 확인해보니까 간단하.. 더보기
django 'load staticfiles' and 'load static' django에서 {% load staticfiles %} 와 {% load static %} 둘 중에 어떤 것을 사용하는게 맞을까요? 공식 문서에서는 {% load static %} 을 추천하고 있습니다. https://docs.djangoproject.com/en/2.2/ref/templates/builtins/#static pytest로 돌려보시면 {% load staticfiles %} >>>> {% load static %} 으로 변경하라는 warning이 계속 나와요. 이런 것들을 보았을 때 앞으로는 load static을 사용하는게 맞는 것 같습니다. 아마도 load staticfiles가 삭제될 예정이겠죠. 저도 load static으로 모두 변경했어요. 테스트 과정에서 나오는 warning.. 더보기