当前位置:网站首页>mock模拟,skip,skipif,mark分类
mock模拟,skip,skipif,mark分类
2022-08-10 02:18:00 【HDLaZy】
1:mock
mock使用场景:被测试的接口需要调用第三方接口,而第三方接口还没有调试通过,此时可以使用mock模拟接口的返回值,来调试自己的代码,第三方接口调通后,再真实调用第三方接口
# 第三方未通的支付接口
def pay(data):
""" 支付接口请求参数: param data:{'id':'','money':,'type':''} id:字符串,支付编号 money:浮点数,支付金额 type:支付类型 return:{'status':1,'msg':'支付成功'} {'status':0,'msg':'支付失败'} """
r = requests.post('', data=data)
return r.json()
#使用mock模拟
def test_pay_success():
# 请求参数
cs = {
"id": "D202208040001", "money": 45.8, "type": "支付"}
# 使用mock.MOCK(return_value={}) 模拟第三方接口的返回值
pay = mock.Mock(return_value={
'status': 0, 'msg': '支付成功'})
# 调用第三方接口
res = pay(cs)
#断言操作
assert res['status'] == 1
assert res['msg'] == '支付成功'
2:skip,skipif
skip/skipif使用场景:
- skip:用例对应的功能有缺陷,使用skip跳过该用例的执行,等缺陷解决后再执行该用例
- skipif:条件性跳过,产品存在多个版本,而自动化脚本只有一套,按照版本的不同,跳过用例
#版本号
version='V1R1'
@pytest.mark.skip(reason='缺陷id为:XXXX')
def test_01():
print("用例1")
#V1R2支持 V1R1不支持
@pytest.mark.skipif(version='V1R1',reason='V1R1版本不支持该功能')
def test_02():
print("用例2")
3:mark
mark进行测试分类:自动化测试包含,冒烟测试,接口测试,界面测试,性能测试,这些自动化脚本存在重合的用例,通常一个项目中会把所有测试的脚本在放一起管理,通过自定义mark标记,定义在用例或者类上
在pytest.ini文件中配置各种标记:
[pytest]
addopts= -m="api or web"
; -m=参数来配置执行那些标记的用例 可以使用 and or not
; -m='api'
; -m='api and web'
; -m='api or web'
; -m='not api'
; 通过markers配置不同的标记 标记: 解释
markers= smoke: smoke test case
web: web test case
api: api test case
@pytest.mark.web #界面测试
def test_01():
print("用例1")
@pytest.mark.api #接口测试
@pytest.mark.smoke #冒烟测试
def test_02():
print("用例2")
@pytest.mark.api #接口测试
class Test001():
def test_01(self):
print("用例1")
def test_02(self):
print("用例2")
@pytest.mark.web #界面测试
def test_03(self):
print("用例3")
def test_04(self ):
print("用例4")
边栏推荐
- 2022.8.8 exam sweeps the horse (sweeper) antithesis
- 2022杭电多校联赛第七场 题解
- 实例046:打破循环
- “双枪”木马病毒的进化史
- PostgreSQL相关语法及指令示例
- 2022.8.8 Exam area link (district) questions
- Robust Real-time LiDAR-inertial Initialization (Real-time Robust LiDAR Inertial Initialization) Paper Learning
- HRnet
- 2022 Top Net Cup Quals Reverse Partial writeup
- 从滑动标尺模型看企业网络安全能力评估与建设
猜你喜欢

Meteor accelerator Trojan analysis and disposal plan

Instance 042: Variable scope

MySQL:日志系统介绍 | 错误日志 | 查询日志 | 二进制日志:bin-log数据恢复实践 | 慢日志查询

HackTheBox——Beep

自动化测试中,测试数据与脚本分离以及参数化方法

【Kali安全渗透测试实践教程】第7章 权限提升

Deep Learning (5) CNN Convolutional Neural Network

HACKTHEBOX——Bank

【Kali安全渗透测试实践教程】第6章 密码攻击

web crawler error
随机推荐
what is eabi
liunx PS1 设置
Robust Real-time LiDAR-inertial Initialization(实时鲁棒的LiDAR惯性初始化)论文学习
Little rookie Hebei Unicom induction training essay
16. 最接近的三数之和
HRnet
“双枪”木马病毒的进化史
数据在内存中的存储
[Red Team] ATT&CK - Auto Start - Registry Run Key, Startup Folder
2022.8.9考试排列变换--1200题解
2022 Top Net Cup Quals Reverse Partial writeup
T5: Text-to-Text Transfer Transformer
官宣出自己的博客啦
Algorithm and voice dialogue direction interview question bank
想要避免After Effects渲染失败的问题,5个小技巧必看
IDEA自动生成serialVersionUID
PostgreSQL相关语法及指令示例
[Semantic Segmentation] 2022-HRViT CVPR
2022.8.8考试从记忆中写入(memory)题解
实例048:数字比大小