pytest(1)】的更多相关文章

前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行 查看pytest.ini的配置选项 pytest -h 找到以下内容 [pytest] ini-options in the first pytest.ini|tox.ini|setup.cfg file found: markers (linelist): markers for test functions empty_parameter_set_mark…
前言 pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能 Skip和xfail: 处理那些不会成功的测试用例 你可以对那些在某些特定平台上不能运行的测试用例或者你预期会失败的测试用例做一个标记,这样pytest在提供测试报告时可以做对应的处理以保持整个测试套的结果都是green的(一般都用绿色表示测试通过) skip表示在满足某些情况下该测试用例是通过的,否则这个测试用例应该被跳过不执行.比较常见的例子是测试用例在windows平台下执行在非wind…
前言 当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化. 官方示例 下面是一个典型的范例,检查特定的输入所期望的输出是否匹配: # test_expectation.py import pytest @pytest.mark.parametrize("test_input, expected", [("3+5", 8), (&quo…
pytest介绍 pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高.根据pytest的官方网站介绍,它具有如下特点: 非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考 能够支持简单的单元测试和复杂的功能测试 支持参数化 执行测试过程中可以将某些测试跳过(skip),或者对某些预期失败的case标记成失败 支持重复执行(rerun)失败的 case 支持运行由 nose, unittest…
安装就讲这么多,别的不多比比 第1个例子(基本法要了解): 这个例子中,还有一些需要注意的知识点: 1 pytest将在当前目录及其子目录中运行test _ * .py或* _test.py形式的所有文件 那么当前目录指的是什么呢? 2 pytest查找所遵循的标准测试发现规则,扩展资料有时间可以查看一下 第2个例子(重试次数): 使用 --maxfail=2 可以设置最大重试次数 pytest --maxfail=2 第3个例子(指定测试/选择测试): 指定一个文件运行测试 pytest te…
1. 用例运行级别 模块级(setup_module/teardown_module)开始于模块始末,全局的 函数级(setup_function/teardown_function)只对函数用例生效(不在类中) 类级(setup_class/teardown_class)只在类中前后运行一次(在类中) 方法级(setup_method/teardown_method)开始于方法始末(在类中) 类里面的(setup/teardown)运行在调用方法的前后 2. 函数式 2.1 setup_fun…
前言 我们每天写完自动化用例后都会提交到 git 仓库,随着用例的增多,为了保证仓库代码的干净,当有用例新增的时候,我们希望只运行新增的未提交 git 仓库的用例.pytest-picked 插件可以实现只运行未提交到git仓库的代码. 安装 pip3 install pytest-picked 使用示例 $ pytest --picked $ pytest --picked=first $ pytest --picked --mode=branch $ pytest --picked --mo…
前言 通常我们认为每个测试用例都是相互独立的,因此需要保证测试结果不依赖于测试顺序,以不同的顺序运行测试用例,可以得到相同的结果. pytest默认运行用例的顺序是按模块和用例命名的 ASCII 编码顺序执行的,这就意味着每次运行用例的顺序都是一样的. app 测试里面有个 monkey 测试,随机在页面点点点,不按常理的点点点能找到更多的不稳定性 bug.那么我们在写pytest用例的时候,既然每个用例都是相互独立的, 那就可以打乱用例的顺序随机执行,用到 pytest 的插件 pytest-…
前言 平常我们功能测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟,如果单个测试人员执行需要1000分钟才能跑完 当项目非常紧急时,会需要协调多个测试资源来把任务分成两部分,于是执行时间缩短一半,如果有10个小伙伴,那么执行时间就会变成十分之一,大大节省了测试时间 为了节省项目测试时间,10个测试同时并行测试,这就是一种分布式场景 同样道理,当我们自动化测试用例排常多的时候, 一条条按顺序执行会非常慢(虽然接口很快),pytest-xdist的出现就是为了让自动化测试用例可以分布式…
前言 pytest 运行完用例之后会生成一个 .pytest_cache 的缓存文件夹,用于记录用例的ids和上一次失败的用例. 方便我们在运行用例的时候加上--lf 和 --ff 参数,快速运行上一次失败的用例. --lf, --last-failed 只重新运行上次运行失败的用例(或如果没有失败的话会全部跑) --ff, --failed-first 运行所有测试,但首先运行上次运行失败的测试(这可能会重新测试,从而导致重复的fixture setup/teardown) cache pyt…