pytest打标记-mark功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest打标记-mark功能相关的知识,希望对你有一定的参考价值。
参考技术A 1、在项目根目录下创建文件:pytest.ini文件中写入内容
success、fail、 flow这三个就是标记,也可以给标记加上说明,说明必须是英文
2、在测试方法上方打上标记
格式: @pytest.mark.+ 对应的标记,如:
@pytest.mark.success
@pytest.mark.fail
@pytest.mark.flow
3、运行测试要加标记参数-m和标记
main文件 pytest命令行:-m, 标记名
需要运行多个不同标记的用例,用or添加,如下
指定标记名不被运行,标记前面加not+空格:
pytest配置pytest.ini,配置mark标签
参考技术Apytest默认的测试用例收集规则
我们是可以修改或者添加这个用例收集规则的;当然啦,是建议在原有的规则上添加的,如下配置
备注:冒号之后是描述信息(可写可不写)。
打标记的范围:测试用例、测试类、模块文件
1.方法一
在测试用例/测试类前加上:@pytest.mark.标记名
也可以在一个用例上打多个标签,多次使用@pytest.mark.标签名
2.方法二
多标签模式:pytestmark = [pytest.mark.标签1, pytest.mark.标签2......]
在模块文件里,同理(py文件下,所有测试函数和测试类里的测试函数,都有该标签):
根据测试用例/测试类/测试模块,标记了对应的标签后,使用对应的命令行在cmd中或者Pycharm中的Terminal中运行,即可进行用例的筛选,命令行为:
pytest -m 标签名
pytest - m "smoke or demo" 只运行smoke 和 demo标签
@pytest.mark.skip(reason=\'跳过的原因\') 打在测试类或者测试用例上面
@pytest.mark.skipif("sys.platform==\'win32\'",reason=\'第三方不想测\')
eval(self,condition) condition是一个eval脱衣可以执行的,如果为True就跳过
condition 是一个条件可以是字符串eval脱衣服的表达式,还可以直接是表达式比如: condition = 2>1
pytestmark =pytest,mark.skip() 变量pytestmark这个变量不可更改
myskip = pytest.mark.skip() 自定义跳过装饰器,使用一个变量接收对象。使用的时候直接@变量 打在被跳过的函数或者类
以上是关于pytest打标记-mark功能的主要内容,如果未能解决你的问题,请参考以下文章