2016-08-28 2 views
2

단위 테스트를 실행하는 데 아주 간단한 Django 앱이 있습니다. 내 tests.py 파일에서 상위 응용 프로그램보기 파일을 가져 오려고합니다. 나는 '시도했다. 수입 전망 '하지만 오류가있어 : 내가 상대 경로가 작동하지 않을 때, 당신은 내가 노력 그래서 절대 경로를 사용하여 시도 할 수 있음을 읽을테스트를 실행할 때 Django에 설치된 앱을 찾을 수 없습니다.

SystemError: Parent module '' not loaded, cannot perform relative import 

' '메뉴 가져 오기보기에서을하지만 또 다른 오류가있어보다 :

ImportError: No module named 'menu' 

응용 프로그램 용 로컬 서버를 실행할 때 제대로 작동합니다. 그 때만 'coverage run'coverage를 실행하여 menu/tests.py를 실행합니다. 그것이 잘 실행되고 모듈이 내 설정의 설치된 애플 리케이션에 있기 때문에, 왜 이런 일이 일어나는지 완전히 확신하지 못합니다.

메뉴/tests.py

import unittest 

from menu import views 

class ModelTestCase(unittest.TestCase): 
    def setUp(self): 
     pass 

    def test_menu(self): 
     pass 

if __name__ == '__main__': 
    unittest.main() 

settings.py

INSTALLED_APPS = (
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'menu', 
    'django_nose' 
) 

역 추적

timothybaney$ coverage run menu/tests.py 
Traceback (most recent call last): 
    File "menu/tests.py", line 3, in <module> 
    from menu import views 
ImportError: No module named 'menu' 
+0

했던 이름을 바꿀려고 다음 views.py 메인 폴더에있는 경우

import views 

당신이 쓸 수있는 다음 views.py 메뉴 폴더 안에도 그래서 만약 당신은 쓸 수 있습니다 , 즉 'mymenu'? – sergiuz

+0

예. 그냥 시도했지만 불행히도 작동하지 않았습니다. – JBT

+0

더 많은 로그를 표시 할 수 있습니까? – sergiuz

답변

2

그것은 당신이하지 많은 정보를 우리에게 준 ...하지만거야 내가보기에 걸릴 때 그 트레이스 백은 File 'menu/tests.py'라고합니다.

from ..main import views #replace 'main' with your folder name 
+0

감사합니다 돈, 기이하게도 충분합니다. 나는 그처럼 친척처럼 느껴진다. 보기를 가져 오지 만, 왜 이런 일이 처음에 일어 났는지 더 자세히 살펴 봐야 할 것입니다. – JBT

관련 문제