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 ==============================

相关推荐
唐古乌梁海21 小时前
【pytest】编写自动化测试用例命名规范README
自动化·pytest
xing25161 天前
pytest下allure
开发语言·python·pytest
IT求学人2 天前
pytest运行用例的常见方式及参数
pytest
开源优测3 天前
什么是pytest.ini及如何在Pytest中应用以提升配置效率
pytest
摸鱼仙人~4 天前
ImportError: cannot import name ‘FixtureDef‘ from ‘pytest‘
conda·pytest·fastapi
唐古乌梁海4 天前
【pytest-jira】自动化用例结合jira初版集成思路
pytest·jira
小码哥说测试5 天前
高效执行自动化用例:分布式执行工具pytest-xdist实战!
自动化测试·软件测试·功能测试·jmeter·pytest·postman·测试工程师
予早6 天前
pytest asyncio 支持插件 pytest-asyncio
pytest