테스트 된 모듈이 자매 폴더에있는 경우 테스트 된 모듈을 가져 오기 위해 파이썬 단위 테스트를 수행하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/2262546

문제

나는 여전히 내 머리를 돌고있다 import 성명. 같은 레벨에 2 개의 폴더가있는 경우 :

  1. SRC
  2. 테스트

만드는 방법 py 파일 test 모듈을 가져옵니다 src? 더 나은 솔루션이 있습니까 (폴더를 다른 폴더 안에 넣는 것처럼?)

도움이 되었습니까?

해결책

원하는 코드는 src/module_name.py를 사용하는 것입니다.

from src import module_name 

루트 디렉토리는 PythonPath에 있습니다. 예를 들어 루트 디렉토리에서 실행됩니다.

귀하의 디렉토리 구조는 내가 사용하는 것이지만 SRC의 대신 모델 이름을 사용합니다. 나는이 구조를 얻었다 J Calderone의 블로그 그리고 비슷합니다 Google 블로그

다른 팁

이것을 시도하십시오 :

import sys
import os
sys.path.append(os.path.join('..', 'src'))
import module_in_src_folder

모든 플랫폼을 지원하기 위해 편집되었습니다

나는 내가 쓴 모든 파이썬 프로젝트와 함께 OP와 정확히 같은 상황을 가지고 있습니다.

  • 프로젝트 폴더
    1. SRC
    2. 테스트

SRC 또는 테스트에 관계없이 모든 모듈은 항상의 형태를 사용합니다. import 그 마크는 그의 대답에 다음과 같습니다.

from src import module_name

내가 한 일은 Project Folder 테스트 폴더 내의 모든 테스트 모듈을 재귀 적으로 발견하고 모든 테스트를 실행하기 위해 UnitTest를 얻습니다. 파이썬이 실행됨에 따라 Project Folder, 그런 다음 모듈은 작업 디렉토리와 관련이 있습니다.

이것은 테스트가 모듈을 원하는 다른 클라이언트와 같습니다. src.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top