testing - Pytest BDD - 选择存根或实时 API 调用
问题描述
我正在开发一些行为驱动开发,即使用 pytest-bdd 的样式测试。我们希望重用相同的功能和或多或少相同的步骤定义来对第三方 API 进行存根和实时调用,即我们希望重用测试代码进行集成和端到端测试。
我想知道是否有关于如何在 pytest_bdd 或 pytest 中处理模拟和真实调用之间交替的约定
这个问题类似:Running pytest tests against multiple backends? 答案是添加一个解析器选项,并pytest_addoption
在顶层放置一个钩子conftest.py
。
解决方案
选择一个存根或实时 api 调用的好方法api
是添加一个带有 pytest_addoption 钩子的解析器选项。条件逻辑需要在相关测试中寻找那些选项。
This answer to a similar question是这种方法的来源,并且有更多细节:https ://stackoverflow.com/a/50686439/961659
推荐阅读
- css - 带有 fomantic-ui 和 fontawesome-free 的 sapper/svelte
- python - sklearn 绘制 tfidf 二元 LogisticRegression 分类器的决策边界
- javascript - Boostrap 4.5 中模态内轮播中的延迟加载/延迟图像
- html - 如何检查是否给出了对象属性?
- javascript - React 组件中对 Set 的迭代不会在 JSX 中呈现
- sql - 使用分页优化 SQL 查询
- mysql - MySQL中具有自动增量ID的重复问题
- python - 执行 Python 脚本时有没有办法隐藏 Windows 日志?
- r - 当使用 R 使用 ggplot 和 plotly 创建自定义悬停文本时,出现错误。有人可以帮我弄清楚我的错误在哪里吗?
- c# - 如何使用 button_click 事件获取行索引