pytest入门十:配置文件

  • pytest.ini:pytest的主配置文件,可以改变pytest的默认行为
  • conftest.py:测试用例的一些fixture配置

pytest.ini

复制代码
marks
mark 打标的执行 @pytest.mark.add  add需要些marks配置否则报warning
[pytest]
markers=
  add:测试打标

测试用例中添加了 @pytest.mark.webtest 装饰器,如果不添加marks选项的话,就会报warnings

pytest

markers =

smoke

end

fist
xfail_strict

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

addopts

addopts参数可以更改默认命令行选项,这个当我们在cmd输入一堆指令去执行用例的时候,就可以用该参数代替了,省去重复性的敲命令工作

命令行参数

addopts = -v --reruns=1 --count=2 --html=reports.html --self-contained-html -n=auto

加了addopts之后,我们在cmd中只需要敲pytest就可以生效了!!

log_cli

控制台实时输出日志

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

pytest 收集测试用例时,会递归遍历所有子目录,包括某些你明知道没必要遍历的目录,遇到这种情况,可以使用 norecursedirs 参数简化 pytest 的搜索工作
pytest默认的测试用例收集规则

;指定测试目录

;定义执行的目录

testpaths=tests

;自定义测试文件命名规则

python_files = test_* check_*

;自定义测试类

python_classes = Test* Check*

;自定义测试方法

python_functions = test_* check_*

;指定特定路径:当在上级路径时,也会默认执行sub_demo

;testpaths = sub_demo

;忽略路径

norecursedirs = result logs datas

指定pytest最低版本号

minversion=5.0

conftest.py

conftest.py

import pytest

@pytest.fixture()

def conftest_fixture():

print("fixture前置")

yield

print("fixture后置")
test_demo.py

def test_case(conftest_fixture):

print("测试用例")
运行结果

============================= test session starts =============================

collecting ... collected 1 item

test_demo.py::test_case fixture前置

PASSED [100%]测试用例

fixture后置

============================== 1 passed in 0.02s ==============================

相关推荐
旦莫12 小时前
怎么才能算对自动化测试框架二次开发(以Pytest为例)
python·测试开发·pytest·ai测试
彩色面团儿2 天前
Pytest框架测试用例分析(测试笔记二)
笔记·测试用例·pytest
阿蔹3 天前
Python-Pytest-Requests-API接口测试自动化框架2
python·自动化·pytest
彩色面团儿4 天前
Pycharm部署pytest运行测试(测试笔记一)
python·pycharm·集成测试·pytest
阿蔹4 天前
Python-Pytest
python·自动化·pytest
阿蔹5 天前
Python-Pytest-Requests-API接口测试自动化框架
python·自动化·pytest
先做个垃圾出来………5 天前
pytest + pytest-mock + pytest-parametrize为基础构建测试框架
microsoft·pytest
唐古乌梁海9 天前
【pytest】pytest详解-入门到精通
开发语言·python·pytest