2013-03-05 4 views
0

와 파이썬 :모듈 관리 나는 현재 파일 구조 다음과 같은 것을 프로젝트에서 일하고 있어요 테스트

  • 모듈
    • 장치 1
    • 장치 2
  • 테스트
    • 테스트 1

는 궁극적으로, 내 테스트 케이스 Test 1Device 1Device 2을 가져올 수 있도록 wan't. 현재 경로에 상위 디렉토리를 추가하여 달성합니다 : sys.path.append(os.path.join(os.path.dirname(__file__), "..")). 안타깝게도, 이로 인해 내 IDE에서 장치에 대한 유용한 정보를 표시하지 못합니다. Test 1이 주 파일 인 관계로 여기서는 상대적인 가져 오기가 작동하지 않는 것 같습니다. 즉 python test1.py으로 시작됩니다. 파이썬 2.7 사용하고 있습니다.

답변

0

내가 100 %가 표준 해요 방법으로이 일을 해요,하지만 한편을 위해 일하고 : 당신이 볼 수 있듯이, Screenshot of sample project

그래서, 나는 main.py에서이없는 아직이 목업. 하나의 폴더에는 모듈이 있고 다른 모듈에는 테스트가 있습니다.

sys.path.append__file__.rsplit('\',2)을 사용하여 폴더 계층 구조를 등반하는 것이 "트릭"(및 다시 권장됩니다.)입니다. 또 다른 트릭은 main으로 호출하면 모든 모듈이 init을로드하고 자체 테스트하지만 init 파일이 호출되면 모두 모듈을 테스트한다는 것입니다.

누군가가 당신에게 더 나은 해결책을 보여줄 수 있기를 바랍니다. 그러나 이것은 대타로 작용할 수 있습니다.

+0

입력 해 주셔서 감사합니다. 참고로, 내 테스트는 단위 테스트가 아닙니다. 즉, 모든 테스트가'python testX.py'처럼 실행됩니다. 저는 여전히 더 우아한 솔루션을 기다리고 있습니다. 분명한 해결 방법은 테스트를 한 단계 높이는 것이지만 내 팀이 동의하는지 확실하지 않습니다. – anopheles

관련 문제