pytest -p no:warnings
DJANGO TEST - PYTEST
pytest를 사용하면 테스트 데이터베이스를 다시 만들지 않아도 되니까 테스트 시작 속도가 빠르죠. 그래서 많이들 사용하시는 것 같습니다. 저도 테스트 할 때 pytest로 돌리는데 일단 ini는 기본적으로 reuse 옵션을 주고 돌립니다. 이유는 이미 생성된 test db를 사용하고 싶기 때문이죠.
pytest -s --reuse-db
하지만 처음 테스트를 돌리거나 모델(model)의 변경이 있었다면 기존 test db 구조와 테스트가 돌아가는 코드가 맞지 않겠죠. 예를 들어서 없는 테이블에 접근하려고 한다거나? 없는 컬럼을 사용해서 테스트 한다거나 등등 그럴 때는 --create-db 옵션을 주고 돌립니다.
다시 정리하면 python manage.py migrate 돌렸다면? 아래와 같이 --create-db 옵션을 줘서 다시 test db를 생성하고 테스트가 수행될 수 있도록 해야 하는 것이죠.
pytest -s --create-db
테스트를 수행하다보면 warning도 많이 나오는데 그것 때문에 테스트가 진행되면서 찍히는 로그나 수행 print 문을 보기 어려울 때가 있습니다. 그럴 땐 아래와 같이 옵션을 줘서 해결합니다.
pytest -p no:warnings
위에 작성한 것들을 적절히 섞어서 쓰시면 더 쾌적한 테스트가 수행되겠죠?
그나저나 테스트케이스를 만드는것은 정말 힘든일 같아요 ㅋㅋㅋㅋㅋ 다들 힘내십쇼 !
'파이썬(python2.7) > Django&REST' 카테고리의 다른 글
django.core.exceptions.FieldError: Related Field got invalid lookup: icontains (0) | 2019.08.17 |
---|---|
DRF Custom Permission (0) | 2019.08.10 |
Django Test - pytest, reuse, create db, migration 등 간단 소개 (0) | 2019.08.10 |
Django Mysql Warning - utf8mb4 (0) | 2019.07.28 |
Django Render로 넘어온 context 사용하기 (0) | 2019.06.08 |
Django Ckeditor File Upload Permission (0) | 2019.05.31 |
Favicon Image Add to Django Admin Site (0) | 2019.05.31 |
DRF - list_route, detail_route >> @action 변경 (0) | 2019.05.26 |