gpt4 book ai didi

python - 如何使用带有数据的数据库在 Django 中运行测试?

转载 作者:太空狗 更新时间:2023-10-30 00:05:22 25 4
gpt4 key购买 nike

我想使用来自 postgres localhost 数据库的数据(已加载数据)测试我的 View 。我将 tox 与 pytest 和 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 并转到那个 View 时 ('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 等。

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

查看其他示例,这些示例在这种情况下非常有用。

谢谢!

关于python - 如何使用带有数据的数据库在 Django 中运行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42559151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com