우선 : 최상위 단위 테스트 패키지 test
을 호출 할 수 없습니다. 이것이 파이썬의 단위 테스트의 이름입니다. 따라서 설치된 구성에서 테스트를 실행할 수 없으며 파이썬이 어떻게 설정되었는지에 따라 파이썬 자체의 테스트를 직접 가져올 수도 있습니다.
두 번째 : sys.path
은 방대하고 미묘한 신비입니다.
trial
은 빠른 시작 해킹으로 파일 및 디렉토리를 실행하는 것을 지원하지만 경로 이름을 사용하는 경우에는 완전히 수정할 수 없습니다. 올바른 일은 모듈 (또는 패키지) 이름을 파이썬 모듈로 가져 와서 검사 할 수있는 시험을 통과하는 것입니다. 프로젝트의 디렉토리 내에서 테스트를 실행하지 않는, 즉
PYTHONPATH=$HOME/Projects/MyProject (cd /tmp; trial myproject.test)
:
~/Projects/MyProject/
~/Projects/MyProject/myproject/
~/Projects/MyProject/myproject/__init__.py
~/Projects/MyProject/myproject/stuff.py
~/Projects/MyProject/myproject/test/
~/Projects/MyProject/myproject/test/__init__.py
~/Projects/MyProject/myproject/test/test_stuff.py
는 다음과 같이 테스트를 실행해야합니다
그래서 디렉토리 구조처럼 보이는 경우 ; 이렇게하면 소스 코드 전체에 _trial_temp 디렉토리가 덤프되고 "내 코드를로드하는 위치"와 "현재 디렉토리"가 혼동되고 나중에 일반적으로 뒤죽박질하기가 어려울 수있는 다양한 것들이 혼란스러워집니다. 고유 명에, 일부 임시 위치에서 trial
을 실행 - 그리고 당신의 ~/.bashrc
로하거나 투기 쓰레기 - Combinator, setup.py develop, virtualenv :
그래서, 경로 관리 당신의 선택의 도구를 사용하여 PYTHONPATH
및 PATH
을 설정 최상위 Python 패키지를 사용하면 모든 것이 올바르게 작동합니다.
최근이 문제로 고민하고 있었고 모듈 이름이'test_'로 시작하는 경우에만 재귀 테스트 검색이 작동한다고 덧붙이고 싶었습니다. –