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

前端之家收集整理的这篇文章主要介绍了如何使用带数据的数据库在django中运行测试?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想使用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 – >示例 – >使用只读数据库.

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

谢谢!

猜你在找的Python相关文章