0

Visual Studio 2015에서 Django 1.10.5를 사용하고 있습니다. 프로젝트가 가상 환경에서 실행 중입니다. 저는 초보자 용 자습서 here을 따르고 있습니다. 프로젝트는 잘 실행되지만 Visual Studio "테스트 탐색기"에서 단위 테스트를 실행하려고하면 "django.core.exceptions.AppRegistryNotReady : App이 아직로드되지 않았습니다."라는 오류가 발생하여 실패합니다.Visual Studio에서 Django로 단위 테스트를로드 할 수 없습니다.

이 내 테스트 클래스입니다 : 파이썬에서

import datetime 
from django.test import TestCase 
from django.utils import timezone 
from .models import Question 

class QuestionTestCase(TestCase): 

    def test_wasPublishedRecently_FutureQuestion_FALSE(self): 

     futureTime = timezone.now() + datetime.timedelta(days=30) 
     futureQuestion = Question(datePublished=futureTime) 
     self.assertIs(futureQuestion.wasPublishedRecently(), False) 

답변

0

비주얼 스튜디오, 장고 (> = 1.7) 테스트가 명시 적으로 설치 (필요) PTVS에서 테스트를 실행하는 경우에.

다음 클래스 정의의 (setUpClass) 코드를 삽입합니다 :

class ViewTest(TestCase): 
    """Tests for the application views.""" 

    if django.VERSION[:2] >= (1, 7): 
     # Django 1.7 requires an explicit setup() when running tests in PTVS 
     @classmethod 
     def setUpClass(cls): 
      super(ViewTest, cls).setUpClass() 
      django.setup() 

    def test_home(self): 
     """Tests the home page.""" 
     response = self.client.get('/') 
     self.assertContains(response, 'Home Page', 1, 200) 

은 또한 당신은

+0

나는 또한 내가'장고 필요하다는 것을 발견 settings.py에 ALLOWED_HOSTS에 "TESTSERVER"를 추가해야 .setup()'호출. 그러나 그것은'@ classmethod'에서 나에게 도움이되지 못했다. 더 나은 Django 테스트를 위해'test_plus' 패키지를 사용하고 있으며, 패키지의 테스트 모듈은 설정을 즉시 제공합니다. 그래서'set testSplus.test import TestCase' 전에'SETTINGS_MODULE' 환경 변수를 설정하고'django.setup()'을 호출해야했습니다. – Sven