4

loaddata を使用して、django アプリケーションにフィクスチャ ファイルをロードできます。

manage.py loaddata palamut

フィクスチャpalamut.yamlはディレクトリにありますpalamut/fixtures/

に単体テスト モジュールservice_tests.pyがありpalamut/tests/ます。その内容は次のとおりです。

import unittest
from palamut.models import *
from palamut.service import *
from palamut.pforms import *

class ServiceTest(unittest.TestCase):
    fixtures = ['palamut.yaml']

    def test_convert_vensim(self):
        game_definition = GameDefinition.objects.get(pk=1)

この単体テストでは、次のエラーが発生します。

DoesNotExist: GameDefinition matching query does not exist.

スクリプトをデバッグしたところ、単体テスト モジュールにフィクスチャが読み込まれていないことがわかりました。

この動作の原因について何か提案はありますか?

ところで、テスト ログには、フィクスチャのロードに関連するものは何も含まれていません。

4

1 に答える 1

9

TestCase は、unittest.TestCase ではなく、django.test.TestCase のインスタンスである必要があります。

于 2009-10-01T14:26:14.297 に答える