VSCode Django Unit Tests


TL;DR

글로벌 settings.json 에 다음과 같은 필드를 추가하세요:

{
	"python.experiments.optInto": ["pythonTestAdapter"]
}

.env 에 다음 키값쌍을 추가하세요:

MANAGE_PY_PATH='<path-to-manage.py>'

(Optional) .vscode/settings.json 에 원하는 장고 테스트 인자를 추가하세요:

{
	"python.testing.unittestArgs": []
}

원인

해결

ref에 따르면 MANAGE_PY_PATH 환경변수가 존재하면 장고 유닛테스트 컨텍스트임을 파악하고 일반 unittest 커맨드 대신에 ./manage.py test 명령으로 대체한다. 이를 위하여 .env 파일에 MANAGE_PY_PATH='<path-to-manage.py>' 를 추가하면 알아서 읽어 환경변수에 추가하고 장고 유닛테스트 컨텍스트임을 파악하게 된다.

만약 .env 파일이 예상된 위치에 존재하지 않는 경우, settings.py에 정의할 수 있다.