pytest配置文件:pytest.ini

1. 开始

pytest配置文件可以改变pytest的默认运行方式,它是一个固定的文件名称pytest.ini。

pytest.ini存放路径为项目的根路径。

2. 使用addopts-追加默认参数

我们每次在命令行中执行pytest命令时,如果参数是固定的,可以在pytest.ini进行配置,减少繁琐的操作。
pytest在运行时,会自动读取pytest.ini中配置的参数。

例如:

[pytest]
addopts =
    --reruns=2
    -p no:faulthandler
    -s
    --cache-clear
    --capture=sys

也可以将参数使用空格隔开。

[pytest]
addopts = --reruns=2 -p no:faulthandler -s --cache-clear --capture=sys

3. 命令行参数 优先级 大于 pytest.ini的参数

当配置文件的参数与命令文件的参数重复时,命令行的参数值会覆盖配置文件中定义的参数值。、

比如下图,命令行参数值为1,pytest.ini参数值为2,实际执行的参数值为1。

4. testpaths-指定测试用例搜索目录

testpaths用于指定测试用例的搜索目录,可以指定一个或多个目录,多个目录需要用空格隔开或者换行。

[pytest]
testpaths = ./test_case01 ./test_case02

[pytest]
testpaths = 
  ./test_case01 
  ./test_case02

5. python_files & python_classes & python_functions 修改pytest默认搜索用例的规则

pytest 默认的用例匹配规则:

  • 测试模块必须以 test_ 开头或以 _test 结尾
  • 测试类必须以 Test 开头,且不能有 init()
  • 测试方法必须以 test_ 开头

pytest.ini配置文件可以使用python_files、python_calsses、python_functions修改默认的用例匹配规则。
  • 使用python_files可以自定义测试模块的匹配规则
  • 使用python_classes可以自定义测试类的匹配规则
  • 使用python_functions可以自定义测试方法的匹配规则

注意:上面3个配置项支持多个匹配规则,多个匹配规则用空格隔开或者换行。

接下来,我们可以来添加自己的匹配规则:

  • 添加 gitlink*.py 开头的测试模块
  • 添加 GitLink* 开头的测试类
  • 添加 gitlink* 开头的测试方法
[pytest]
# 配置搜索的模块文件名称。匹配以test开头py结尾的文件
python_files = gitlink*.py

# 配置搜索的测试类名
python_classes = Gitlink*

# 配置搜索的测试方法名
python_functions = gitlink*

命令行输入:pytest -vs运行结果如下:

6. markers-注册mark标记

当我们使用 @pytest.mark.标记名称 时,如果使用的自定义标记,当在执行用例追加参数 -m=标记名称 时,虽然不会影响测试执行,但是在执行后会出现告警提示:PytestUnknownMarkWarning: Unknown pytest.mark.smoke

我们需要在pytest.ini配置文件增加 markers 字段注册自定义标记。

[pytest]
# 注册标记名称
markers =
    smoke: 冒烟测试用例
    normal: 正常用例

添加后,使用pytest --markers可以查看到我们添加的标记名称。

然后我们再次使用命令pytest -m=smoke就不会有告警提示啦~

猜你喜欢

转载自blog.csdn.net/FloraCHY/article/details/131823489