의 내가 내 프로젝트의 repo에서 테스트를 구성하기위한 다음과 같은 폴더 구조가 있다고 가정 해 봅시다 :ModuleNotFound : 없음 모듈 이름 '응용 프로그램'
def add(x, y):
return x + y
:
project/
app.py
tests/
test.py
app.py
간단한 추가 기능이를 test.py
이 함수를 테스트합니다.
from app import add
import unittest
class TestCase(unittest.TestCase):
def test_add(self):
print('Running the test!')
self.assertEqual(add(3, 4), 7)
if __name__ == '__main__':
unittest.main()
(10) 모든 작동합니다
mac:project $ python tests/test.py
ModuleNotFound: No module named 'app'
가 어떻게이 문제를 해결할 수 있습니다 내가 직접 내가 다음과 같은 오류가 test.py
를 실행하려고하면
mac:project $ nose2
Running the test!
Ran 1 test in 0.000s
Ok
문제는 무엇입니까? 내가 from ..app import app
시도했습니다
mac:project $ coverage run tests/test.py
ModuleNotFound: No module named 'app'
하지만이 오류 얻을 : ValueError: attempted relative import beyond top-level package
이 좋습니다 여부 : 나는
project
에서 수입을 찾기 위해 파이썬에게test.py
의 상단에 다음을 추가 할 필요가? –작동하지 않습니다. 여전히 같은 오류가 발생합니다. –
예제 코드를 사용하여이를 테스트했으며 저에게 도움이되었습니다. 'sys.path'를 출력하고 마지막에'project' 폴더가 있는지 확인하십시오. 스크립트에서'sys.path'를 바꾸는 것을 싫어한다면 파이썬 경로를 환경 변수로 설정할 수 있습니다 만, 가져 오기가 작동하려면'project' 디렉토리를 파이썬 경로에 추가해야합니다. – Alasdair