2010-12-30 2 views
7

PyCharm의 장고 테스트 러너에 대해 다른 설정 파일을 사용한 경험이있는 사람이 있습니까?PyCharm 1.1 - django 테스트 러너에 대한 특정 설정 사용

+penguinproject 
+apps 
+settings 
--__init__.py 
--common.py # this one is imported by the others below 
--development.py 
--production.py 
--staging.py 
+static 
... 

이 manage.py 명령을 사용하여 테스트를 실행 (및 --settings = settings.development 추가) 잘 작동하지만 난 내장 사용하려면 :

다음과 같이 내 프로젝트로 구성되어있다 테스트 러너에서 (IDE와 더 잘 통합되어 있기 때문에). (

E:\Development\django_projects\penguinproject\Scripts\python.exe "C:\Program Files (x86)\JetBrains\PyCharm 1.1\helpers\pydev\pydevd.py" --client 127.0.0.1 --port 49898 --file "C:\Program Files (x86)\JetBrains\PyCharm 1.1\helpers\pycharm\django_manage.py" test items 
Testing started at 20:36 ... 
pydev debugger: warning: psyco not available for speedups (the debugger will still work correctly, but a bit slower) 
pydev debugger: starting 
E:\Development\django_projects\penguinproject\lib\site-packages\path.py:32: DeprecationWarning: the md5 module is deprecated; use hashlib instead 
import sys, warnings, os, fnmatch, glob, shutil, codecs, md5 
settings file: development 
pycharm django settings imported 
Manager file: manage 
Traceback (most recent call last): 
File "C:\Program Files (x86)\JetBrains\PyCharm 1.1\helpers\pydev\pydevd.py", line 1165, in <module> 
debugger.run(setup['file'], None, None) 
File "C:\Program Files (x86)\JetBrains\PyCharm 1.1\helpers\pydev\pydevd.py", line 929, in run 
execfile(file, globals, locals) #execute the script 
File "C:\Program Files (x86)\JetBrains\PyCharm 1.1\helpers\pycharm\django_manage.py", line 15, in <module> 
run_module(manage_file, None, '__main__') 
File "c:\python26\Lib\runpy.py", line 140, in run_module 
fname, loader, pkg_name) 
File "c:\python26\Lib\runpy.py", line 34, in _run_code 
exec code in run_globals 
File "E:\Development\django_projects\penguinproject\yabe\manage.py", line 11, in <module> 
execute_manager(settings) 
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\core\management\__init__.py", line 438, in execute_manager 
utility.execute() 
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\core\management\__init__.py", line 379, in execute 
self.fetch_command(subcommand).run_from_argv(self.argv) 
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\core\management\base.py", line 191, in run_from_argv 
self.execute(*args, **options.__dict__) 
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\core\management\base.py", line 220, in execute 
output = self.handle(*args, **options) 
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\core\management\commands\test.py", line 37, in handle 
failures = test_runner.run_tests(test_labels) 
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\test\simple.py", line 396, in run_tests 
suite = self.build_suite(test_labels, extra_tests) 
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\test\simple.py", line 285, in build_suite 
app = get_app(label) 
File "E:\Development\django_projects\penguinproject\lib\site-packages\django\db\models\loading.py", line 140, in get_app 
raise ImproperlyConfigured("App with label %s could not be found" % app_label) 
django.core.exceptions.ImproperlyConfigured: App with label items could not be found 

내가 명령 줄에서 manage.py를 사용하여이 오류가 발생하지 않습니다

그 문제는 내가이 오류가 나의 설정이 올바르게로드되지 않는 것입니다 생각 또한 IDE 내에서 호출 될 때), development.py 설정이 올바르게로드되지 않는다고 생각하게 만듭니다. 디버깅은 load.py 모듈의 get_app() 내에서 settings.INSTALLED_APPS가 빈 목록임을 보여줍니다.

누구나이 설정 파일을 사용하여 테스트 러너를 설정하는 데 성공 했습니까?

미리 감사드립니다.

+0

을 나는 일식에서 비슷한 문제가 있었다 생각합니다. djanjo.setup()을 실행하려면 django가 필요하고 어딘가에 실행해야합니다. –

답변

0

해당 응용 프로그램에 models.py을 만들어야합니다!

http://code.djangoproject.com/ticket/3310

+0

다음과 같습니다 : apps 디렉토리에는 앱별로 필요한 모든 파일 (tests.py, models.py, views.py 등)이 포함되어 있습니다. models.py 파일이 없으면 명령 행에서 실행 된 테스트가 작동하지 않습니다. – LaundroMat

1

내가 프로젝트 구조의 약간의 수정을 건의 할 것입니다. 이 훨씬, 훨씬 더 자세한 예를 체크 아웃 :

http://www.revsys.com/blog/2014/nov/21/recommended-django-project-layout/

당신이 최상위 디렉토리 및 모든 후속 설정 파일을 이동 같은 이름의 하위 디렉토리가 거기에 볼 수 있습니다. 또 다른 참조

, 초기 프로젝트 구조를 만드는 데 사용할 수있는 'startproject'명령 체크 아웃 :

https://docs.djangoproject.com/en/1.10/ref/django-admin/#django-admin-startproject

HTH