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

 

  위에 작성한 것들을 적절히 섞어서 쓰시면 더 쾌적한 테스트가 수행되겠죠? 

  그나저나 테스트케이스를 만드는것은 정말 힘든일 같아요 ㅋㅋㅋㅋㅋ 다들 힘내십쇼 !

+ Recent posts