[python] tox에서의 테스트 실행 속도를 빠르게 하는 방법은 무엇인가요?
-
병렬 실행 설정하기: Tox는 병렬로 여러 환경에서 테스트를 실행할 수 있습니다.
tox.ini
파일에서envlist
에 여러 환경을 정의하고-p
플래그를 사용하여 병렬 실행을 활성화할 수 있습니다.[tox] envlist = py36, py37, py38 parallel_show_output = true
-
캐시 사용하기: 테스트 의존성을 캐시하여 반복 실행 시 불필요한 패키지 설치를 줄일 수 있습니다.
tox.ini
파일에서setenv
섹션에PIP_CACHE_DIR
변수를 설정하여 패키지를 캐싱할 디렉토리를 지정할 수 있습니다.[testenv] setenv = PIP_CACHE_DIR={envtmpdir}/.cache/pip
-
가상 환경을 재사용하기: 가상 환경을 재사용하여 패키지 설치 시간을 절약할 수 있습니다.
usedevelop = true
옵션을 이용하여 빌드 디렉토리를 재사용하고,sitepackages = true
를 이용하여 시스템 패키지를 공유할 수 있습니다.[testenv] usedevelop = true sitepackages = true
프로젝트의 구조와 요구 사항에 따라 최적의 설정을 찾을 수 있습니다. 이러한 설정은 프로젝트의 특성에 따라 달라질 수 있으므로 실험하여 가장 최적의 방법을 찾을 수 있습니다.
본 내용은 다양한 Tox 및 Python 테스트 속도 향상 방법을 참고하였습니다. 참고문헌 이용에 도움이 되실 것으로 기대됩니다.
- https://tox.readthedocs.io/en/latest/example/general.html#making-your-tox-jobs-run-faster
- https://blog.pixarea.com/2020/11/speed-up-python-tox-testing/