美文网首页
pytest的fixture学习十三

pytest的fixture学习十三

作者: 小源宝1573 | 来源:发表于2020-07-27 10:38 被阅读0次

模块化:使用fixture函数中的fixtures

除了在测试用例中使用fixtures外,fixture功能还可以自己使用其他fixtures,这有助于fixture的模块化设计,并允许在多个项目中重复使用特定于框架的fixture。作为一个简单的示例,我们可以扩展前面的示例,并实例化一个对象应用程序,将已定义的smtp_connection资源粘贴到该对象应用程序中:

官网示例

示例中,先声明一个app fixture,该fixture接受conftest.py中定义的smtp_connection fixture,并使用它实例化一个app对象,运行后:

示例结果

由于smtp_connection的参数化,该测试用例将在两个不同的app实例和各自的smtp服务器上运行两次。app fixture无需知道smtp_connection参数化,因为pytest将完全分析fixture依赖性图。

请注意,该app fixture具有模块范围,并使用模块范围的smtp_connection fixture。如果将smtp_connection缓存在会话作用域中,则该示例仍然可以工作:fixture可以使用“更广泛”范围的fixtures,但反之则不行:会话作用域的fixture不能以同一含义的方式使用模块作用域的fixture。

相关文章

网友评论

      本文标题:pytest的fixture学习十三

      本文链接:https://www.haomeiwen.com/subject/qwtikktx.html