在Django中,loaddata正常加载fixture但单元测试时无声失败
我可以通过使用 loaddata 来加载我的 Django 应用中的数据文件:
manage.py loaddata palamut
这个数据文件 palamut.yaml
在 palamut/fixtures/
目录下。
我在 palamut/tests/
目录下有一个单元测试模块 service_tests.py
,它的内容如下:
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
你的测试用例应该是django.test.TestCase的一个实例,而不是unittest.TestCase的实例。