加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何使用带数据的数据库在django中运行测试?

发布时间:2020-12-16 22:42:15 所属栏目:Python 来源:网络整理
导读:我想使用postgres localhost数据库中的数据(已经加载的数据)测试我的视图.我正在使用pyx和pytest-django. 我的问题: 如何设置/连接到本地数据库以获取所有数据模型架构和数据本身?或者也许最好使用factory_boy?或者从.sql脚本加载整个数据(如果是,如何)?

我想使用postgres localhost数据库中的数据(已经加载的数据)测试我的视图.我正在使用pyx和pytest-django.

我的问题:
如何设置/连接到本地数据库以获取所有数据模型架构和数据本身?或者也许最好使用factory_boy?或者从.sql脚本加载整个数据(如果是,如何)?

我的测试示例:

def test_foo_view(custom_client_login):
    response = custom_client_login.get('/foo/bar/123/')

    assert response.status_code == 200
    assert 'Transaction no. 123' in response.content

但是获得状态代码200而不是获得404,这表明测试数据库中没有数据.但是当我在runserver上午餐并转到那个视图(‘localhost:8000 / foo / bar / 123 /’)时,我将获得状态200和带有一些数据的html网页.

请帮忙!

我正在使用:

> Django == 1.7.11
> pytest == 3.0.6
> pytest-django == 3.1.2
> tox == 2.6.0

最佳答案
刚刚找到了办法!我认为它更简单!无需编写任何自定义TestRunners等.

答案是在第5章中的pytest-django docs – >示例 – >使用只读数据库.

查看其他示例,在这种情况下非常方便.

谢谢!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读