2012-05-12 8 views
6

すべてのテストはエラーなしで完了し、フィクスチャは実際にロードされます。 Django 1.4の問題ですか?Django 1.4には「指定されたデータベースフィクスチャがありません。少なくとも1つのフィクスチャのパスをコマンドラインで指定してください。

一部のアプリケーションのみがこのエラーメッセージを表示することに注意してください(アプリケーションの単体テストと対応する備品の間に概念的な違いはありません)。

アップデート1:fasttest.py内容:

DATABASES = {'default': 
    { 
    'ENGINE': 'django.db.backends.sqlite3', 
    'NAME': ':memory:', 
    } 
} 

~/django_project$ ./manage.py test appname --traceback --settings=fasttest 
Creating test database for alias 'default'... 
.....................No database fixture specified. Please provide the path of at least one fixture in the command line. 
. 
---------------------------------------------------------------------- 
Ran 22 tests in 8.426s 

OK 
Destroying test database for alias 'default'... 

アップデート2:明らかにコメント私は試行のために感謝していますが、暗闇の中で唯一のショットです。 データベースは問題ではなく、SQLite3もPostgresテストDBも問題を解決しません。

+0

本当に詳細が必要です。スタックトレース全体を質問にコピーできますか?また、settings.pyファイルのデータベースセクションを見るのも良いでしょう。 – Paragon

+0

DBのサポートとしてsqlite3を使用する場合は、dbのパスを指定する必要があります。これは、Django 1.3.1でコメントされた要件でした。私は確かにその1.4と同じことを言うことはできませんが、あなたが試すことができます。 –

+0

実際には、コロンがDBに問題があると思います。それらを取り出して、それが動作するかどうかを確認してください。 –

答えて

7

この問題は、1.4で問題なく動作していたテストフィクスチャで同じ問題が発生しました。私にとって

、私は、固定具を使用していなかった一つのテストケースを有し、そして私は、このような空のセットに器具を設定した:私は、その行をコメントアウトする場合

class MyTestCase(TestCase): 
    fixtures = [] 

、エラー去りました:

class MyTestCase(TestCase): 
# fixtures = [] 
+0

Djangoの 'TestCase._fixture_setup()'は、内容をチェックするのではなく 'hasattr( 'fixtures')'だけをチェックし、苦情がどこから来たのかloaddataを呼び出します。エラーメッセージと実際のフィクスチャロードの両方を避けることができます。これは、loaddataがそれに不平を言っていないので、何か偽の設定をします: 'fixtures = ['BOGUS']' –

関連する問題