[python] tox를 사용하여 특정 테스트 케이스들만 실행하는 방법과 선택적 실행에 관한 Best Practice는 무엇인가요?

Tox를 사용하여 Python 프로젝트의 여러 환경에서 코드를 실행하고 테스트하는 것은 매우 유용합니다. 어떤 경우에는 특정 테스트 케이스만을 실행해야 할 수도 있습니다. 이를 위해 다음과 같은 방법을 사용할 수 있습니다.

Tox 환경 구성

Tox를 사용하여 특정 테스트를 실행하려면, tox.ini 파일에 다음과 같은 섹션을 추가합니다.

[tox]
envlist = py37, py38, py39

[testenv:mycase]
commands = pytest --verbose -k my_test_case

위의 예시에서는 mycase라는 새로운 테스트 환경을 정의하고, pytest 명령에 -k 플래그로 특정 테스트 케이스를 지정했습니다. my_test_case는 실행하려는 특정 테스트 케이스의 이름으로 바꿔주셔야 합니다.

Best Practice

특정 테스트 케이스만을 실행하는 것은 일반적으로 부작용이 있는 방법이므로 주의가 필요합니다. 특히 전체 테스트 스위트를 실행하지 않고 특정 테스트만 실행하면, 의존성 문제가 생길 수 있으며 테스트 환경의 일관성이 떨어질 수 있습니다. 따라서 특정 테스트 케이스를 실행하는 상황은 절대적으로 필요한 경우에만 사용하는 것이 좋습니다.

Tox를 사용하여 테스트 케이스를 선택적으로 실행할 때에는 코드베이스와 테스트 실행 환경의 일관성을 유지하는 것이 중요합니다. 그래서 테스트 선택적 실행은 어떤 상황에서든 최후의 수단이어야 합니다.

위의 예시와 Best Practice를 통해, Tox를 사용하여 특정 테스트 케이스를 실행하는 방법과 선택적 실행에 대한 Best Practice를 적용하여 프로젝트를 더욱 안정적으로 유지할 수 있습니다.

References