2013-06-26 1 views
0

재사용 가능한 장고 응용 프로그램을 가지고 있고 그것을 다른 프로젝트로 가져오고 있습니다. 그 응용 프로그램의 테스트를 실행할 수 있기를 원합니다. 즉, 테스트 용으로 자체 settings.py 파일이 필요하다는 것을 의미합니다.장고 재사용 가능한 응용 프로그램에 대한 사용자 정의 settings.py

테스트를 수행하는 데있어 허용되는 방법은 무엇입니까? 일부 프로젝트는 장고 설정을 조정하고 장고 테스트 러너를 사용하는 runtests.py 파일을 생성하는 것으로 나타났습니다.

./manage.py run tests --settings=app_tests_settings 

을 방법이 가장 좋습니다 거기는 다른 방법은 다음과 같습니다

는 또한 회사 내부 프로젝트가 새 설정 파일을 작성, app_tests_settings.py을하고 manage.py으로 테스트를 실행하기 위해 개발자에게 것으로 나타났습니다 맞춤 설정을 사용하는 앱 별 테스트를 실행하고 있습니까?

업데이트 : 그것은 PostGIS와에게

답변

0

를 사용하여 당신은 당신의 TestCase의 설정 방법에 설정을 무시할 수 있기 때문에 응용 프로그램은 특정 데이터베이스 백엔드를 필요로한다.

https://docs.djangoproject.com/en/dev/topics/testing/overview/#overriding-settings

업데이트 됨.

flatpages에서 일부 코드 (https://github.com/django/django/blob/master/django/contrib/flatpages/tests/test_csrf.py) :

from django.test.utils import override_settings 


@override_settings(
    LOGIN_URL='/accounts/login/', 
    MIDDLEWARE_CLASSES=(
     'django.middleware.common.CommonMiddleware', 
     'django.contrib.sessions.middleware.SessionMiddleware', 
     'django.middleware.csrf.CsrfViewMiddleware', 
     'django.contrib.auth.middleware.AuthenticationMiddleware', 
     'django.contrib.messages.middleware.MessageMiddleware', 
     'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', 
    ), 
    TEMPLATE_DIRS=(
     os.path.join(os.path.dirname(__file__), 'templates'), 
    ), 
    SITE_ID=1, 
) 
class FlatpageCSRFTests(TestCase): 
    fixtures = ['sample_flatpages', 'example_site'] 
    ... 
관련 문제