Pytest框架学习笔记(二)

本文详细介绍了Pytest框架的addopts参数,包括调试选项、过滤器和多线程运行等。接着,探讨了fixture的概念、作用范围和用法,强调了fixture在测试初始化、数据准备等方面的重要性。最后,讲解了conftest.py文件的用途及其作用范围,解释了如何在不同层级中查找和使用fixture。
摘要由CSDN通过智能技术生成

一、addopts参数说明

-s:输出调试信息,包括print打印的信息
-v:显示更详细的信息
-q:显示简略信息,与-v作用相反
-p no:warning :过滤警告
-p no:randomly :disable随机执行
-n=num:启用多线程或分布式运行测试用例。需要安装pytest-xdist插件模块
-k=value:py文件中用例包含value的用例都会被执行
-m=标签:执行被@pytest.mark.标签名标记的用例
-x:只要有一个用例执行失败就停止当前线程的测试执行
–maxfail=num:与-x功能一样,可以自定义用例失败次数
–rerun=num:失败用例重跑,需要安装pytest-rerunfailures插件模块
-l:展示运行过程中的全局变量和局部变量
–collect-only:罗列出所有当前目录下所有的测试模块,测试类及测试函数
–ff:如果上次测试用例出现失败的用例,当使用–ff后,失败的测试用例会首先执行,剩余的用例也会再次执行
–lf:当一个或多个用例失败后,定位到最后一个失败的用例重新运行,后续用例会停止运行
–html=report.html:当前目录生成名为report.html的测试报告,需要安装pytest.html插件模块

二、pytest中的fixture

pytest中的fixture就是对于测试前后进行预备、清理工作的代码分离出核心测试逻辑的一种机制。类似于setup、teardown这种前后置的东西。
fixture的目的就是提供一个固定的基线,在该基础上测试可以可靠的和重复的执行。

pytest中是按照fixture的名称来搜索fixture的,搜索的顺序是:

  • 优先搜索当前测试所在类
  • 再搜索当前测试所在的模块
  • 然后搜索conftest.py
  • 接下来搜索内置的fixture
  • 最后搜索第三方插件

fixture的用途

  • 测试前后的初始化设置,如测试数据准备&
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于学习 pytest 测试框架,我可以给您一些简要的介绍和指导。 首先,pytest 是一个功能强大且易于使用的 Python 测试框架,它可以用于编写和执行各种类型的测试,包括单元测试、集成测试和功能测试等。 以下是一些学习 pytest 的步骤和资源: 1. 安装 pytest:您可以使用 pip 命令来安装 pytest。在命令行中运行以下命令即可: ``` pip install pytest ``` 2. 学习基本语法:pytest 提供了丰富的语法和功能来编写测试用例。您可以开始学习 pytest 的基本语法,例如使用 `assert` 来编写断言、使用 `test_` 前缀定义测试函数等。 3. 编写测试用例:在 pytest 中,测试用例是以函数的形式存在的。您可以创建一个 Python 模块,并在其中定义一个或多个测试函数。每个测试函数应该以 `test_` 开头,这样 pytest 才能自动识别并执行它们。 4. 运行测试:使用命令行进入到测试用例所在的目录,并执行以下命令来运行测试: ``` pytest ``` pytest 会自动发现并执行所有的测试用例,并输出测试结果。 5. 断言和测试覆盖率:pytest 提供了多种断言方法,您可以根据需要选择适合的断言来验证测试结果。此外,还可以使用 pytest-cov 插件来获取测试覆盖率报告,以了解您的测试用例覆盖了哪些代码。 6. 学习更高级的功能:pytest 还提供了许多高级功能,例如参数化测试、夹具(fixtures)、插件系统等。您可以逐步学习和掌握这些功能,以便更好地利用 pytest 进行测试。 除了以上步骤和资源,还有许多书籍、教程和文档可以帮助您深入学习 pytest。以下是一些值得参考的资源: - pytest 官方文档:https://docs.pytest.org/ - "Python Testing with pytest" 一书:https://pragprog.com/titles/bopytest/python-testing-with-pytest/ - pytest 教程:https://www.tutorialspoint.com/pytest/index.htm 希望这些信息能对您学习 pytest 有所帮助!如有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值