首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Django测试中为测试添加多个数据库

如何在Django测试中为测试添加多个数据库
EN

Stack Overflow用户
提问于 2019-12-07 06:15:31
回答 2查看 1.1K关注 0票数 2

问题:

如何添加多个数据库以便在Django中进行测试

当我运行我的测试套装时,我得到了一个错误:

AssertionError:此测试不允许对“mig”进行数据库查询。在path_to_test_suit.MigrationServiceTest.databases中添加“mig”以确保正确的测试隔离和沉默此故障。

以下是我的PostgreSQL设置:

代码语言:javascript
复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'db_1_name',
        'USER': 'db_1_user',
        'PASSWORD': 'db_1_passwd',
        'HOST': 'db_1_host',
        'PORT': 'db_1_port',
    },
    'mig': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': db_2_name,
        'USER': db_2_user,
        'PASSWORD': 'db_2_passwd',
        'HOST': 'db_2_host',
        'PORT': 'db_2_port',
    },
}

我使用Django-nose运行测试服,并使用Django 2.2

EN

回答 2

Stack Overflow用户

发布于 2020-10-01 10:44:46

您可以在测试中使用database参数。例如:

代码语言:javascript
复制
class TestYourClass(TestCase):
    databases = {'default', 'mig'}

def test_some_method(self):
    call_some_method()

有关更多信息,请参见多数据库支持

最早的Django版本超过2.2,请使用multi_db = True

代码语言:javascript
复制
class TestYourClass(TestCase):
    multi_db = True
票数 3
EN

Stack Overflow用户

发布于 2020-04-25 00:35:45

您需要授予DJANGO用户编写的权限。然后,为了进行测试并保存数据,必须使用test_作为前缀,并使用keywork来复制您的模式。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59223505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档