在Django测试中似乎忽略了固定装置

时间:2014-01-08 11:00:09

标签: python django fixtures pytest

我有一个基本上看起来像这样的Django应用程序:

app/
    fixtures/
        file.json
    ...
    tests/
        __init__.py
        settings.py
        tests.py

我已经在tests.py加载了我的装置,基本上看起来像这样:

from django.test import TestCase

class TestFile(TestCase):

    fixtures = ['file.json']

    ...

我的夹具文件如下所示:

[
    {
        "model": "sites.site", 
        "pk": 100, 
        "fields": {
          "domain": "myproject.mydomain.com", 
          "name": "My Project"
        }
    },
]

django.contrib.sites settings.py INSTALLED_APPS中有ipdb

然而,当我尝试使用py.test运行我的测试时,这个装置似乎被忽略了,因为我用Site.objects.all()打破了我的一些测试,查询py.test --ds=app.tests.settings --pyargs app.tests.tests -s和我的夹具网站未显示。可能是什么问题?

我使用-s运行我的测试(ipdb用于允许{{1}}的输出)。 `

1 个答案:

答案 0 :(得分:0)

问题实际上似乎是一个非常明显的细节:我忘记在我的app文件的INSTALLED_APPS中加入settings.py。现在安装了夹具,我可以看到我的夹具现场。