无法在Django测试中加载测试数据
我有一个叫做 pta.apps.users 的应用,它在我的 settings.py 文件中的已加载应用设置里。
这个应用运行得很好,现在我想测试一下,所以我把 json 文件放在了我的 users 应用里的 fixtures 目录下。
我有一个测试可以正常运行,但这些 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 个回答
1
你把你的数据文件放在哪里了?
这些数据文件应该放在你的应用程序目录里:
MyApp/fixtures/user.json
或者你需要在你的settings.py文件中指定一个外部的数据文件目录:
FIXTURE_DIRS = (
'external_fixtures/',
)
0
要加载一个数据文件(叫做fixture),你需要手动调用它,方法是使用 loaddata
命令(就像你之前做的那样),或者把它命名为“initial_data”,比如 initial_data.sql
、initial_data.json
、initial_data.yaml
等等,并把它放在你应用的fixtures目录里。