django - 在多个数据库上的django单元测试

标签 django multiple-databases

我正在一个django项目中,我所有的单元测试用例都运行良好。

当我引入第二个数据库后,我从TestCase继承的所有测试用例都被破坏了。在这个阶段,我还没有为第二个数据库建立任何测试用例,但是我的路由器工作正常。

当我运行测试时,我得到了错误,

“KeyError:'SUPPORTS_TRANSACTIONS'”

在我看来,这是在尝试检查所有我设置的数据库都支持事务,但从未创建第二个数据库。

关于如何使用测试脚本来构建第二个数据库的任何想法。

最佳答案

我意识到这是一个很旧的线程,但是我遇到了同样的问题,我的决心是将multi_db = True标志添加到我的测试用例中,例如:

class TestThingWithMultipleDatabases(TestCase):
     multi_db = True

     def test_thing(self):
         pass

来源https://github.com/django/django/blob/master/django/test/testcases.py#L861

这导致django在所有数据库上调用flush(如果支持事务,则回滚)

我也正在使用数据库路由器

恐怕我在Django的文档中找不到此内容,因此没有链接

关于django - 在多个数据库上的django单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4161223/

相关文章:

django - 使用 Kong 进行身份验证

python - 多个pdf文件应上传

javascript - Django 提交按钮不适用于 Ajax 请求

javascript - 如何使用 javascript 来验证表单?

django - Django 模板中的静态文本到动态文本

python - 为什么 django_migrations 表在所有数据库中

grails - 在 Grails 中定义可选(多个)数据源

python - Django 和多个数据库

php - MYSQL : Selecting from Multiple Databases (an error occured)

data-warehouse - 多个数据库连接与集中/冗余数据库