pytest注意事项记录

本文详细介绍了pytest框架在开发中的注意事项,包括构造方法的使用、参数传递、fixture的运用、与unittest的兼容性问题以及如何结合allure生成和查看测试报告。
摘要由CSDN通过智能技术生成

一、前言


本文主要记录pytest框架在使用过程中的注意事项,部分是参考他人文章,部分为实际工作中遇到的问题记录,方便后续查看。

官方文档链接:https://docs.pytest.org/en/latest/contents.html

二、pytest框架使用注意事项


1、不要试图在用例类中使用init构造方法,pytest并不支持这种方式;前置处理可以使用setup或者fixture

2、不要试图在setup中传入参数,setup并不支持传参,如果需要传参,可以考虑fixture

3、fixtrue也可以在用例类内使用

4、不要试图在参数param 中调用带有依赖的fixture,pytest.mark.paramatrize会优先于fixture先执行

5、参数化,还可以在类或模块上使用参数化标记,参考如下

6、pytest可以兼容unittest,但是部分情况下无法兼容

(1).当使用pytest的参数化paramatrize,不能做到和unittest兼容;
        pytest的参数化相当于unittest中的ddt实现数据驱动,ddt模块不能和fixtrue共用,所以要换用pytest的参数化来实现unittest的ddt;
        pytest的参数化会和unittest冲突,调整方式是要改成pytest参数化,不要继承unittest.TestCase


(2).当使用夹具fixture,(autouse=True可以),也不能和unittest兼容
(3).钩子Custom_hooks​​​​​​​
参考文链接:https://blog.csdn.net/qq_32722729/article/details/102919545

三、pytest+allure

 pytest.main(['-vs', 'case/test_home_case.py', '--alluredir', './report/report_temp','--clean-alluredir'])
    os.system('allure generate ./report/report_temp -o ./report/report --clean')  # 保存报告
    # os.system('allure open report')  # 打开报告
    os.system('allure serve ./report/report_temp')  # 立即打开报告(程序会持续执行)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值