2017-09-24 76 views
0

现在我想用我的默认数据库,因为我需要太多的数据,以嘲弄的要求来测试API,所以我不希望设置的测试数据库如何在Django测试使用默认的数据库

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql_psycopg2', 
     'NAME': 'bills_db', 
     'USER': 'root', 
     'PASSWORD': '****', 
    } 
} 

如何我可以使用它吗?

回答

1

使用相同的数据库名称进行默​​认和测试。

Django使用下面的模式来定义数据库:

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql', 
     'USER': 'mydatabaseuser', 
     'NAME': 'mydatabase', 
     'TEST': { 
      'NAME': 'mytestdatabase', 
     }, 
    }, 
} 

只使用mydatabase代替mytestdatabase

+0

'类型“是”,如果你想尝试删除测试数据库'bills_db'或'no'取消:否' 然后返回'测试cancelled.' –

+0

尝试--keepdb获取您的数据库 – Serjik

1

另一种选择是使用Django's database fixtures因为这是通用于所有的环境中的数据(测试,dev,prod)。这里的好处是,固定装置可以很容易地播种新的数据库与您共同数据:

./manage.py loaddata myfixture1 myfixture2 

您可以./manage.py dumpdata创建fixures。以下是如何创建一个在books应用程序称为Author模型JSON灯具,例如:

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'] 
    .... 
相关问题