gpt4 book ai didi

django - 测试期间未加载 fixture

转载 作者:行者123 更新时间:2023-12-02 06:32:42 29 4
gpt4 key购买 nike

我编写了一个单元测试来检查初始数据是否正确加载。然而,Node.objects.all().count() 始终返回 0,因此看起来装置根本没有加载。命令行中没有输出/错误消息表明灯具未加载。

from core.models import Node

class NodeTableTestCase(unittest.TestCase):
fixtures = ['core/core_fixture.json']
def setUp(self):
print "nothing to prepare..."

def testFixture(self):
"""Check if initial data can be loaded correctly"""
self.assertEqual(Node.objects.all().count(), 14)

固定装置 core_fixture.json 包含 14 个节点,我使用此固定装置作为初始数据加载到数据库中,使用以下命令:

python manage.py loaddata core/core_fixture.json

它们位于我在 settings.py 设置 FIXTURE_DIRS 中提供的文件夹中。

最佳答案

在另一个线程中找到了解决方案,answer from John Mee

# Import the TestCase from django.test:

# Bad: import unittest
# Bad: import django.utils.unittest
# Good: import django.test

from django.test import TestCase

class test_something(TestCase):
fixtures = ['one.json', 'two.json']
...

这样做时,我收到了一条正确的错误消息,指出外键被违反,并且我还必须包含应用程序“auth”的固定装置。我用这个命令导出了所需的数据:

manage.py dumpdata auth.User auth.Group > usersandgroups.json

使用 Unittest 我只得到了加载 fixture 数据失败的消息,这不是很有帮助。

最后我的工作测试如下所示:

from django.test import TestCase

class NodeTableTestCase2(TestCase):
fixtures = ['auth/auth_usersandgroups_fixture.json','core/core_fixture.json']

def setUp(self):
# Test definitions as before.
print "welcome in setup: while..nothing to setup.."

def testFixture2(self):
"""Check if initial data can be loaded correctly"""
self.assertEqual(Node.objects.all().count(), 11)

关于django - 测试期间未加载 fixture ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11604077/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com