如何使用带数据的数据库在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 – >示例 – >使用只读数据库.

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

谢谢!

转载注明原文:如何使用带数据的数据库在django中运行测试? - 代码日志