2013-08-19 5 views
2

내 응용 프로그램을 테스트하기 위해 django-discover-runner를 사용하려고합니다. 그것은 기본적으로 WebService 프론트 엔드이기 때문에 데이터베이스를 포함하지 않으며, django-discover-runner는 그 점을 좋아하지 않습니다.데이터베이스없이 django-discover-runner 사용

other questions을 보면, 평범한 장고와 함께 DjangoTestSuiteRunner을 상속 받아 settings.TEST_RUNNER으로 설정해야합니다. 그것은 잘 작동합니다. 그러나 자신의 discover_runner.DiscoverRunner 클래스를 사용 장고는 주자가-발견, 그래서 나는이 시도 :

from discover_runner import DiscoverRunner 

class DBLessTestRunner(DiscoverRunner): 
    def setup_databases(self): 
     pass 

    def teardown_databases(self, *args): 
     pass 

을하지만 그것은 작동하지 않습니다. 이 에러 메시지가 나타납니다 :

ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details. 

django-discover-runner가 데이터베이스없이 어떻게 작동하는지 알고 싶습니다.

답변

3

Django 1.6에서 표준 Django TestCase는 데이터베이스 액세스를 시도하는 TransactionTestCase에서 상속받습니다.

는 TestCase에보다는 SimpleTestCase에서 테스트 클래스 상속의 문제를 해결하려면 :

from django.test import SimpleTestCase 

class TestViews(SimpleTestCase): 
    ... 

는 이제 밖으로 데이터베이스를 설정하여 테스트를 수행 할 수 있어야한다.

관련 문제