Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django正在忽略我的测试用例装置_Django_Django Fixtures - Fatal编程技术网

Django正在忽略我的测试用例装置

Django正在忽略我的测试用例装置,django,django-fixtures,Django,Django Fixtures,我有Django 1.4。在我的test.py中,我得到了必要的TestCase导入: from django.test import TestCase 为了隔离问题,我添加了一行: fixtures = ['westeros'] 默认示例测试用例,即 class SimpleTest(TestCase): fixtures = ['westeros'] def test_basic_addition(self): """ Tests tha

我有Django 1.4。在我的test.py中,我得到了必要的TestCase导入:

from django.test import TestCase
为了隔离问题,我添加了一行:

fixtures = ['westeros']
默认示例测试用例,即

class SimpleTest(TestCase):
    fixtures = ['westeros']

    def test_basic_addition(self):
        """
        Tests that 1 + 1 always equals 2.
        """
        self.assertEqual(1 + 1, 2)
使用django-admin.py dumpdata,我在我的customers/fixtures目录中创建了一个名为“westeros”的fixture文件,其中“customers”是在settings.INSTALLED_APPS中列出的应用程序


当我运行测试时,不管有多冗长,Django都会忽略这个fixture并通过
test\u basic\u addition
test。无错误,无夹具加载。就好像TestCase导入不存在一样。有没有关于什么地方可能出错或如何调试的想法?

您的
westeros
文件在哪里

它需要位于应用程序内的
fixtures
目录中,或者位于
FIXTURE\u DIRS
settings.py
文件中指定的目录中

您可以使用
verbosity=2
运行测试以获得完整输出。

您的设备文件名为
westeros
?或者它有文件扩展名吗

正如您所看到的,Django将在夹具加载时无声地失败。(至少在1.3之前,我还没有在新的1.4版本中使用固定装置)。但实际上您并不是在测试夹具是否正在加载。
插入一个
self.assertmorer(YourModel.objects.all(),0)
或其他东西来验证没有对象,或者插入一个debbuger并开始查询您的一些模型。

在定义
fixtures
时可以省略扩展,就像您所做的那样,即

fixtures = ['westeros']

但是,fixture文件本身必须具有与其序列化程序相对应的扩展名,例如json、zip json或xml的
westeros.json
westeros.json.zip
westeros.xml

您尝试过loaddata吗?谢谢回答:(1)“westeros”文件位于customers/fixtures目录中,其中customers是我安装的应用程序之一;(2) 我已经用冗长的2(和3);(3) 是的,我已经验证了夹具没有被加载(只是在我的问题中没有显示)。是的!!!非常感谢。这就是问题所在。当我将westeros重命名为westeros.json时,它起了作用。我仍然感到困惑,为什么Django在这件事上保持完全沉默。即使fixture现在正在加载,它仍然什么也没说,即使在verbosity3上也是如此。