我正在尝试建立一个LiveServerTestCase。在
为此,我在Testclass中创建一个用户
class ExampleTest(LiveServerTestCase):
user = User.objects.create_superuser('Testuser','test@user.com','1234')
user.save()
.
.
.(rest of the test)
如果没有这一行,服务器和测试将启动,但显然它无法登录,因为之前没有用户创建。在
但有了这条线,我得到了
^{pr2}$错误。在
我需要在中设置服务器吗设置.py对于LiveServerTestCase,如果是,使用哪些值或者在哪里可以找到它们?在
更新:
我在做这个测试
python manage.py test
所以它建立了一个数据库,我不需要在设置.py,还是我错了。在
更新2:
我已经定义了一个“生产”数据库(在我问这个问题之前),它看起来像这样:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': 'localhost', # 10.1.2.41
'NAME': 'pim_testdatabase',
'USER': 'postgres',
'PASSWORD': '1234',
'PORT': '5432',
'HAS_HSTORE': True,
'TEST':{
'NAME': 'test_pim_testdatabase'
},
},
}
但例外情况还是出现了。在
您需要在^{} 设置中设置数据库。在
如果要使用其他数据库名称,请在
TEST
字典中为DATABASES
中的任何给定数据库指定NAME
。在测试数据库配置示例:
问题是您在类定义中创建用户。它在加载测试类时运行,在创建数据库之前。在
您可以通过将用户创建移动到单个测试中来解决该问题。然后,在创建数据库之后,当测试方法运行时,将创建用户。在
^{pr2}$django1.8有一个^{} 方法,您可以在其中为整个测试用例设置一次初始数据。这样做更快,重复性更少。在
在没有} 方法中创建用户。在
setUpTestData
的Django的早期版本中,可以在^{相关问题 更多 >
编程相关推荐