无法在Django测试中加载夹具数据

时间:2010-07-01 13:11:40

标签: python django testing django-admin

我有一个名为pta.apps.users的应用,它在我的settings.py中的已加载应用设置中加载。

该应用程序运行正常,我现在想测试它并将json文件放在我的用户应用程序内的fixtures目录中。

我有一个测试运行正常,但灯具不会加载。

from django.test import TestCase
from django.test.client import Client
from BeautifulSoup import BeautifulSoup

class SimpleTest(TestCase):

  fixtures = ['user.json']

  def setUp(self):
    self.c = Client()

  def test_parse_html(self):
    response = self.c.get('/users/login/', follow=True)
    soup = BeautifulSoup(response.content)
    self.assertEquals(soup.h1.renderContents(), 'Entrance')

我只是在输出中得到No fixtures found.。我正在使用Django 1.2.1。任何帮助都会得到赞赏。

2 个答案:

答案 0 :(得分:1)

你在哪里放置了固定装置? 灯具应放在您的app目录中:

MyApp/fixtures/user.json

或者你要在settings.py中指定一个外部灯具目录:

FIXTURE_DIRS = (
    'external_fixtures/',
)

答案 1 :(得分:0)

要加载灯具,我非常确定您必须使用loaddata手动调用它(就像您一样),或者专门调用它“initial_data”,例如initial_data.sqlinitial_data.jsoninitial_data.yaml等,并将其存储在您应用的fixtures目录中。

https://docs.djangoproject.com/en/dev/howto/initial-data/#automatically-loading-initial-data-fixtures