Загрузка фикстура работает с loaddata, но в модульном тесте в Django происходит сбой - PullRequest
4 голосов
/ 01 октября 2009

Я могу загрузить файл фикстуры в моем приложении django, используя loaddata:

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.

Я отладил скрипт и обнаружил, что прибор не загружен в модуль юнит-тестирования.

Есть ли у вас какие-либо предложения о причине такого поведения?

Кстати, протоколы испытаний не содержат ничего, связанного с загрузкой приборов.

1 Ответ

9 голосов
/ 01 октября 2009

Ваш TestCase должен быть экземпляром django.test.TestCase, а не unittest.TestCase

...