pytest在python中的使用

在pytest中可以直接写测试方法,如图:
Pytest.main()会自动把当前模块下符合要求的用例以及子模块下符合要求的用例进行执行
pytest中的fixtrue可以把fixture看做是资源,在你的测试用例执行之前需要去配置这些资源,执行完后需要去释放资源。类似unittest中的setup和teardown功能。如图:
Pytest中fixture的参数介绍:
autouse:在一个session内所有的test都会自动调用当前的fixture,默认为false
name:设置fixture的名称,不设置默认为装饰函数的名称
scope:作用范围设置范围后,会根据设置的范围去触发执行。
范围可选值:
function:每个方法(函数)都会执行一次。(默认)
class:每个类都会执行一次。类中有多个方法调用,只在第一个方法调用时执行。
module:一个.py文件执行一次。一个.py文件可能包含多个类和方法。
package/session:多个文件调用一次,可以跨.py文件。
params:传入参数,接收一个列表,列表中每个数据都作为用例的输入
ids:测试字符串id的列表,每个测试字符串id对应于params,默认为参数值
conftest.py文件应用:
pytest中的fixture是pytest用于将测试前后进行预备,清理工作的代码分离出核心测试逻辑的一种机制。但是我们更加希望的是在一个测试套件中,能够共享fixture的机制,这样一个测试套件里面的所有测试点都能够共同使用。在pytest中可以通过conftest.py来共享fixture,如果希望多个测试文件共同使用一个fixture时候,可以在该目录下创建conftest.py文件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本