首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django 1.7针对生产DB进行测试,而不是创建测试DB

Django 1.7针对生产DB进行测试,而不是创建测试DB
EN

Stack Overflow用户
提问于 2016-08-29 15:31:14
回答 1查看 109关注 0票数 0

我收到了一个django-1.7安装,并被要求让测试工作的内部django模块。(具体来说,我们运行的是Django==1.7.9psycopg2==2.5.4)

经过两天的绞尽脑汁,我仍然发现当我运行manage.py test mymodule时,它正在针对production postgres数据库进行测试,而不是创建用于安装夹具数据的测试数据库。

奇怪的是,我没有收到任何错误消息,也没有看到它试图创建测试数据库的任何指示。测试套件只是对生产数据库进行测试。

我已经验证了我正在运行的用户,以及在postgres中为测试数据库创建/删除权限的用户。

我还试图让我的测试套件使用内存中的数据库,方法是按照文档指定一个TEST数据库引擎作为内置sqlite3,如下所示:

代码语言:javascript
复制
DATABASES = {
  'default': {
    'NAME': DATABASE_NAME,
    'PASSWORD': 'nottherealpassword',
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'USER': 'nottherealdbuser',
    'PORT': '5432',
    'HOST': '127.0.0.1',
    'TEST': {
            'ENGINE': 'django.db.backends.sqlite3'
            }
    },
  }

这种配置的行为也没有变化,甚至没有迹象表明正在尝试创建。在某种情况下,测试运行程序甚至拒绝为给定模块创建测试数据库?我已经尝试过默认的django运行程序和django_nose,行为没有改变。

我的首选结果将是在内存中使用固定设备填充的小型数据库上进行测试;我的第二个首选结果是在postgres中创建测试数据库,但不需要从一开始就运行每次迁移。

EN

回答 1

Stack Overflow用户

发布于 2016-08-31 03:13:16

原来我们使用的是多数据库安装程序。将DATABASE_ROUTERS设置为空白可迭代[]重新启用测试数据库创建。

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

https://stackoverflow.com/questions/39209962

复制
相关文章

相似问题

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