pytest框架进阶自学系列 (pytest框架详细介绍)

本文目录导航:

pytest框架进阶自学系列 | 运行的失败管理

书籍来源:房荔枝 梁丽丽《pytest框架与自动化测试应用》pytest框架进阶自学系列文章旨在分享和整理课程内容及实验笔记,以供爱好者学习。

如遇侵权,将立即删除。

以下内容与书籍内容相关,深入探讨pytest框架的运行管理,特别关注如何管理测试用例的失败情况。

在pytest中,控制最多允许失败的测试用例数可以通过命令行参数实现。

例如,使用`pytest -x`命令,程序将在遇到第一个失败测试用例时停止执行。

同样,`pytest --maxfail=2`命令将在遇到第二个失败测试用例时停止执行,以此类推。

测试用例失败后,管理其运行状态对于后续分析至关重要。

pytest框架提供了内置的缓存机制来记录测试执行状态。

默认情况下,pytest将测试结果缓存在根目录下的`_cache`文件夹中。

用户可以通过在``文件中自定义`cache_dir`选项来改变缓存目录位置,该目录可以是相对路径或绝对路径。

若想将特定目录下的测试结果缓存与该目录下的源代码分开,可通过在特定目录的``文件中配置`cache_dir`选项实现。

举例来说,要将`src/chapter12/`目录下的测试缓存与源码分开存储,可以通过以下配置:确保在`src/chapter12/`中加入此配置,执行测试时,`pytest src/chapter12/`,测试结果将只缓存至`src/chapter12/_cache`,避免占用根目录缓存。

测试失败管理的实现可以通过使用cacheprovider插件,该插件帮助测试者在测试失败后,可以选择性地执行失败的测试用例。

使用`--lf`选项时,只执行上一轮失败的测试用例;`--ff`选项则先执行上次失败的测试用例,再执行其他用例;`--nf`选项则优先执行新添加或修改的测试用例。

`--cache-clear`选项在清除所有缓存后执行用例,对未失败测试用例执行时,确保不会生成`lastfailed`文件,从而避免`--lf`和`--ff`选项在没有失败用例时的误操作。

具体操作步骤包括在特定目录下创建``文件,编写测试用例文件(如`test_`、`test_`等),并在``中设置自定义缓存目录,实现测试用例的独立缓存与源代码的分离。

通过命令行参数和插件功能,开发者可以灵活管理测试用例的运行过程,优化测试流程。

pytest框架进阶自学系列 (pytest框架详细介绍)

pytestconfig--获取命令行参数及pytest.ini文件配置

来更新知识点了~pytestconfig 是 pytest 一个内置的 fixture ,可以读取相关配置,这里主要介绍如何获取命令行参数以及 中所写的配置项。

读取命令行参数还是比较有意义的,比如有多个 root_url ,可以通过读取参数来指定。

其实在 pytest_addoption 这篇文章中已经介绍了如何注册命令行参数(甚至如何获取也有说明,只不过是用的 ),这里就用 pytestconfig 来再次实现参数获取吧。

执行 pytest test_ --value=pro 运行结果如下图:首先在 文件中,标记如下配置。

读取其实只需要用到 getini 方法。

运行上方已建立的 test_ ,运行结果如下图,ini文件中的配置已成功输出。

最近关注博主的人儿就竟然快50了,是个非常大的鼓励了~这个月更新慢,重点确实不在这里,不过下个月会继续努力学习,努力做一个小知识点传送门的! 今天心情不错,祝大家也开心哦~ 自我记录,有错误欢迎指正~

pytest框架系列——配置文件pytest.ini

pytest的主配置文件起着至关重要的作用,它能定制pytest的运行方式。

一般位于项目根目录下,不可随意移动或改名。

要查看配置选项,可通过命令行pytest -h或pytest --help查看。

关键配置如下:

1. markers:标记测试用例,如使用,自定义标记需在中注册,避免执行后警告。

例如,自定义标记smoke和normal,通过pytest --markers查看。

2. xfail_strict:设置为True时,标记为xfail的测试用例会显示为failed,而非XPASS。

3. addopts:用于更改默认命令行选项,简化长指令,如设置测试报告生成和重跑等。

4. log_cli:控制台实时日志输出,调试时推荐设置为True,便于追踪日志信息。

5. norecursedirs:过滤不需要执行的目录,通过--ignore命令行参数或addopts进行设置。

6. testpaths:定制搜索测试用例的范围,如指定文件名、类名或方法名。

注意,命令行参数会覆盖中的配置。

最后,学习pytest配置时,结合实战资料和学习资源能更好地理解和应用。

你可能想看:
« 上一篇
下一篇 »

相关推荐

FreeBasic:强大免费开源的64位basic编译器及应用优势

2025年05月10日

82阅读

脊柱侧弯矫正方法大盘点:运动康复、支具矫正等多种方式

2025年05月09日

88阅读

如何在winForm标题栏去掉标题文字且任务栏图标正常显示

2025年05月09日

86阅读

十一黄金周促销广告词大全,国庆购物狂欢等你来

2025年05月09日

78阅读

关闭快速编辑模式及插入模式,设置控制台指定文字颜色举例

2025年05月09日

63阅读

黄金搭档低糖高钙饮品包装及成分功效全解析,适合人群要知晓

2025年05月09日

91阅读