我用
django==3.1.2
硒和
selenium==3.141.0
.
我有一个包含12个测试的测试文件,当我这样执行它们时:
python3 manage.py test myapp.tests --settings=app.settings_test
其中两项测试失败。当我像这样单独处决他们时
python3 manage.py test myapp.tests.MyTests.test_this --settings=app.settings_test
他们不会失败。
错误通常是这样的
django.db.utils。操作错误:数据库表已锁定:
访客_人
上述异常是以下异常的直接原因:
myapp_cars
...
django.core.management.base。命令错误:数据库
文件:memorydb_default?模式=内存&cache=共享无法刷新。
可能的原因:*数据库未运行或未配置
正确。*至少有一个预期的数据库表没有
存在*SQL无效。提示:查看输出
'django-admin-sqlflush'。这就是这个命令无法执行的SQL
跑。
或
django.db.utils。操作错误:数据库表已锁定:
缅甸河流
它在数据库的不同模型上总是出错。
我的数据库在
settings_test.py
看起来像这样:
DATABASES['default'] = {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(tempfile.gettempdir(), 'db_test.sqlite3'),
'OPTIONS': {
'timeout': 20,
}
}
在这些测试中,我创建了大约120个条目,分布在12个测试中,夹具安装了大约20个条目。所以没那么多。在谷歌搜索错误后,我添加了超时,并添加了
time.sleep(1)
之后每
MyModal.objects.create()
看看这是否是原因,但这无济于事。
有什么想法吗?