前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pytest测试框架系列(4)-pytest.ini和conftest.py文件

pytest测试框架系列(4)-pytest.ini和conftest.py文件

作者头像
搁浅同学
发布2022-07-21 14:58:22
7710
发布2022-07-21 14:58:22
举报

接着上一篇pytest测试框架的分享

pytest测试框架的比较重要的两个文件就不得不说下pytes.ini和conftest.py文件。

一、pytest.ini文件

pytest.ini配置文件是固定的,存放在工程目录下,可以改变pytest的默认行为。我们可以通过

代码语言:javascript
复制
pytest --help

查看相关的帮助说明,我们可以看到有很多选项

常用的选项有

addopts:改变pytest命令的默认参数

makers:注册标记

python_files:更改匹配测试文件的查找

python_class:更改匹配测试类的查找

python_function:更改测试方法的匹配

testpaths:更改测试脚本的存放目录

编写的例子如下:

代码语言:javascript
复制
[pytest]
addopts = -vs --alluredir ./temp
testpaths = ./testCases
python_files = test*.py
python_classes = Test*
python_functions = test
markers =
    smoke: marks tests as smoke
    web: marks tests as web

二、conftest.py

conftest.py文件是固定的,一般是和用例同一个包下,在pytest执行测试时,会首先加载该文件,可让所有的测试用例共享里面的数据。conftest.py一般存在fixture和自己编写的插件,配合使用。现在分享下,fixture和conftest.py,如何使用。

现在测试目录下新建conftest.py文件

编写一个fixture,内容如下

代码语言:javascript
复制
@pytest.fixture(scope='session')
def base_url():
    base_url = "http://www.baidu.com"
    return base_url

在测试脚本里面使用,只需要引入即可,新建一个测试文件test_baseUrl.py,内容如下

代码语言:javascript
复制
#!/usr/bin/python
# -*- coding: utf-8 -*-
def test_base_url(base_url): #使用时只需使用fixture名字,就是函数名
    print(base_url)
    assert base_url == "http://www.baidu.com"

运行结果,可以看到base_url已经被引入使用了

conftest一般应用场景

1.接口需共用到的token

2.接口需共用到的测试用例数据

3.接口需共用到的配置信息

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 暴走的软件测试Tester 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档