【无标题】

pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行。

pytest里面有些文件是非test文件

        pytest.ini pytest的主配置文件,可以改变pytest的默认行为
        conftest.py 测试用例的一些fixture配置
        __init__.py 识别该文件为python的package包
        tox.ini 与 pytest.ini类似,用tox工具时候才有用
        setup.cfg 也是ini格式文件,影响setup.py的行为

以下是一些常用的配置:
1、addopts 设置自定义执行参数

代码如下(示例):

[pytest]
# 命令行参数,用空格分隔
addopts = -v -s --reruns 1 --html=report.html

说明:

–reruns: 失败重跑次数
–count: 重复执行次数
-v: 显示错误位置以及错误的详细信息
-s: 等价于 pytest --capture=no 可以捕获print函数的输出
-q: 简化输出信息
-m: 运行指定标签的测试用例
-x: 一旦错误,则停止运行
–maxfail: 设置最大失败次数,当超出这个阈值时,则不会在执行测试用例
–html=report.html 生成测试报告

注意:当ini配置文件的参数与run文件里的命令参数重复时,命令行的参数值会覆盖ini配置文件中定义的参数值

2、更改测试用例收集规则

pytest默认的测试用例收集规则

文件名以 test_*.py 文件和 *_test.py

以 test_ 开头的函数

以 Test 开头的类,不能包含 __init__ 方法

如果需要修改这些规则,可以在pytest.ini文件中加入以下配置:

多个匹配规则以空格分开

[pytest]
#测试用例收集规则
python_files =  test_*.py  *_test.py    # 文件名
python_classes = Test*                      # 类
python_functions = test_*                  # 函数

3、testpaths–设置用例执行目录

[pytest]
# 读取测试用例的起始文件夹,多个路径用空格分隔。
注意:这些目录下不能出现相同文件名,否则会报错
testpaths = ./testcase
4、norecursedirs-排除某些用例搜索目录

[pytest]
norecursedirs = venv report util log      #排除指定用例搜索目录
5、markers–标记分组参数

[pytest]
markers =
    smoking :
    high    :
    medium  :
    lower   :
测试用例中标识,运行pytest -v -m smoking,只执行含有smoking标记的测试用例
代码如下(示例):

@pytest.mark.smoking
def test_01():
    pass
6、禁用XPASS

设置xfail_strict = True可以让那些标记为@pytest.mark.xfail 实际通过显示XPASS的测试用例被报告为失败。

[pytest]
xfail_strict=False
7、指定pytest最低版本

[pytest]
minversion = 7.0
8、log_cli控制台实时输出日志

格式: log_cli=True 或 log_cli=False (默认),或者 log_cli=1 或 log_cli=0

[pytest]
log_cli=True
详细日志设置,如下:

[pytest]
log_cli=True #日志开关
log_file = pytest.log #日志文件
log_file_level = INFO #日志级别
log_file_format = %(asctime)s | %(filename)s | %(funcName)s | line:%(lineno)d | %(levelname)s | %(message)s #日志文件格式
log_file_date_format = %Y-%m-%d %H:%M:%S #日志文件中时间戳的格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值