0

Visual Studio 2015でDjango 1.10.5を使用しています。私のプロジェクトは仮想環境で動作しています。私は初心者チュートリアルhereに従っています。プロジェクトは正常に動作しますが、Visual Studioのテストエクスプローラからユニットテストを実行しようとすると、エラーになります: "django.core.exceptions.AppRegistryNotReady:アプリケーションがまだロードされていません。"ユニットテストはVisual StudioのDjangoでロードできません

これは私のテストクラスです:Visual Studio用のPythonで

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

PTVSでテストを実行している場合、Djangoは(> = 1.7)の試験は)(明示的な設定が必要です。

クラス定義の隣(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) 

はまた、あなたはsettings.py

+0

にALLOWED_HOSTSに「TESTSERVER」を追加する必要があり、私はまた、私は 'Djangoに必要なことがわかりました.setup() '呼び出し。しかし、それは '@ classmethod'で私にとってはうまくいきませんでした。私はより良いDjangoテストのために 'test_plus'パッケージを使用しています。そして、そのパッケージのテストモジュールはすぐに設定を取得します。ですから、 'set testSplus.test import TestCase'の前に' SETTINGS_MODULE'のenv varを設定し、 'django.setup()'を呼び出す必要がありました。 – Sven

関連する問題