(DatabaseError: no such table: django_session) Django 1.3 selenium 测试期间的错误
Posted
技术标签:
【中文标题】(DatabaseError: no such table: django_session) Django 1.3 selenium 测试期间的错误【英文标题】:(DatabaseError: no such table: django_session) ERROR during Django 1.3 selenium testing 【发布时间】:2013-07-16 04:45:42 【问题描述】:我正在尝试使用 django selenium 来测试我的 django1.3 应用程序。用于测试的数据库后端是 sqlite3。
这是我的设置文件的 sn-p。
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
当我运行 selenium 测试时,我收到错误提示
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。
提前致谢:)
【问题讨论】:
【参考方案1】:如果它在内存中(如您的示例中),第二个它关闭,数据就会消失。
制作一个实际的 db 文件,这将解决问题。您可以通过简单地提供文件的绝对路径来做到这一点,如果碰巧没有,它会为您创建一个。
【讨论】:
@sandeepraju:很高兴能帮上忙。以上是关于(DatabaseError: no such table: django_session) Django 1.3 selenium 测试期间的错误的主要内容,如果未能解决你的问题,请参考以下文章
env: can't execute 'perl': No such file or directory
rmmod: can't change directory to '/lib/modules': No such file or directory
卸载驱动出现:rmmod: can't change directory to '/lib/modules': No such file or directory
Can't read [proguard.ClassPathEntry@1a0c10f] (No such file or directory)
iptables执行时报错"iptables : Couldn't load target `standard':No such file or directory"
解决:cant't run '/etc/init.d/rcS':No such file or directory