테스트 된 모듈이 자매 폴더에있는 경우 테스트 된 모듈을 가져 오기 위해 파이썬 단위 테스트를 수행하는 방법은 무엇입니까?
-
20-09-2019 - |
문제
나는 여전히 내 머리를 돌고있다 import
성명. 같은 레벨에 2 개의 폴더가있는 경우 :
- SRC
- 테스트
만드는 방법 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와 정확히 같은 상황을 가지고 있습니다.
- 프로젝트 폴더
- SRC
- 테스트
SRC 또는 테스트에 관계없이 모든 모듈은 항상의 형태를 사용합니다. import
그 마크는 그의 대답에 다음과 같습니다.
from src import module_name
내가 한 일은 Project Folder
테스트 폴더 내의 모든 테스트 모듈을 재귀 적으로 발견하고 모든 테스트를 실행하기 위해 UnitTest를 얻습니다. 파이썬이 실행됨에 따라 Project Folder
, 그런 다음 모듈은 작업 디렉토리와 관련이 있습니다.
이것은 테스트가 모듈을 원하는 다른 클라이언트와 같습니다. src
.
제휴하지 않습니다 StackOverflow