现在我想使用我的默认数据库测试API,因为我首先需要太多数据来模拟请求所以我不想设置测试数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'bills_db',
'USER': 'root',
'PASSWORD': '****',
}
}
我该如何使用它?
答案 0 :(得分:3)
另一种选择是使用Django's database fixtures来获取所有环境(test,dev,prod)通用的数据。这里的额外好处是,使用固定装置可以轻松地使用您的公共数据为新数据库设立种子:
./manage.py loaddata myfixture1 myfixture2
您可以使用./manage.py dumpdata
创建修正。以下是如何使用Author
应用中的books
模型创建JSON fixture,例如:
mkdir books/fixtures
./manage.py dumpdata --indent=2 --output books/fixtures/author.json books.author
然后你可以在你的测试中使用那个灯具:
from django.test import TestCase
class AuthorTestCase(TestCase):
fixtures = ['author']
....
答案 1 :(得分:1)
使用相同的数据库名称作为默认值并进行测试。
django使用以下模式来定义数据库:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'USER': 'mydatabaseuser',
'NAME': 'mydatabase',
'TEST': {
'NAME': 'mytestdatabase',
},
},
}
只需使用mydatabase
代替mytestdatabase