我正在尝试使用 django selenium 来测试我的 django1.3 应用程序。用于测试的数据库后端是 sqlite3。
这是我的设置文件的片段。
if 'test' in sys.argv:
DB_ENGINE = 'django.db.backends.sqlite3'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'TEST_NAME': ':memory:',
'NAME': 'database_one',
},
'database_two': {
'ENGINE': 'django.db.backends.sqlite3', ]
'TEST_NAME': ':memory:',
'NAME': 'database_two',
},
'database_three': {
'ENGINE': 'django.db.backends.sqlite3',
'TEST_NAME': ':memory:',
'NAME': 'database_three',
},
}
SOUTH_TESTS_MIGRATE = False
当我运行硒测试时,我收到错误消息
DatabaseError: no such table: django_session
ERROR
事实上,它在测试创建期间显示在输出中创建表,如下所示,
Creating test database for alias 'default' (':memory:')...
Creating tables ...
Creating table django_content_type
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table auth_message
Creating table django_session
我真的被困在这里,因为我在其他地方找不到任何关于此的信息。
PS:测试在 postgres(我实际的 prod db 引擎)中工作正常,但我想使用 sqlite3,因为 postgres 在运行测试时需要花费大量时间来设置和拆卸 db。
提前致谢 :)