django - 如何使用 pytest 访问 django 数据库
问题描述
我想使用 pytest 和 django 来测试 api 查询。有没有办法在 pytest 中做到这一点而无需创建测试数据库?Pytest 不断抛出不允许数据库访问的错误。我最终不得不在我的 pytest 文件的顶部执行此操作:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE","MyProject.settings")
import django
django.setup()
我尝试使用 pytest-django 库,但它没有用于访问我可以使用的数据库的标记。
解决方案
它总是有助于 rtfd: https ://pytest-django.readthedocs.io/en/latest/database.html
pytest-django 采用保守的方法来启用数据库访问。默认情况下,如果他们尝试访问数据库,您的测试将失败。只有当您明确请求数据库访问时,才会允许这样做。这鼓励您将需要数据库的测试保持在最低限度,这使得哪些代码使用数据库非常清楚。
推荐阅读
- angular - Angular 9,滚动恢复/锚滚动不适用于异步数据加载
- python - Python Tkinter 提交按钮
- python - 来自 Python 的串口数据
- javascript - Reactjs:删除函数从组件的动态数组中删除太多元素
- jquery - 使用 jQuery 隐藏 html 表格的某些部分
- scala - 使用 ScalaMock 测试具有隐式类的类
- reactjs - 天才聊天中的_id是什么?
- python - 在预提交挂钩中导入模块需要添加运行时路径
- java - 当元素已经在视图中时,Selenium Scroll into view 不起作用
- r - 绘制图表以强调 R 中的差异电流和期望值