gpt4 book ai didi

python - Django unittest 只读测试数据库

转载 作者:太空狗 更新时间:2023-10-29 18:08:42 24 4
gpt4 key购买 nike

我一定错过了这里显而易见的东西。我正在使用 django 1.5.x 并基于 djangos TestCase 类创建单元测试。当我从很多不同的源中提取(只读)时,我在设置中定义了一堆数据库。运行测试时,我只想创建默认数据库的测试版本,其余的我想标记为只读,而不是尝试重新创建为 test_db_name(用户定义的不会(不能)具有创建这些的权限dbs 无论如何)。

当然这是可能的 - 正如我所说,我一定错过了明显的东西?

感谢任何帮助。

马修

最佳答案

不明显,不。 Sort-of documented ,您可以设置测试时使用的数据库名称:

设置.py

DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.spatialite',
'NAME': 'db.sqlite3',
'TEST_NAME': '/tmp/test.sqlite3',
},
}

如果您随后不想构建(或重建)测试数据库,则需要将数据库名称复制到 TEST_NAME 使用新的 python manage.py test --keepdb命令保持数据库完好无损,而不是让 Django 尝试在运行之间删除它。截至 2014 年 6 月,您必须升级到 Django 的开发版本才能访问它;最终这将在稳定版本中。据我了解,这样做的缺点是它适用于所有数据库,而不仅仅是您的只读数据库。

关于python - Django unittest 只读测试数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24056260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com