pytest参数化代码笔记
2024-09-04 08:50:52
#!/usr/local/bin/python3
# -*- coding: utf-8 -*-
import pytest
__author__ = "Carp-Li"
__date__ = "2020/10/10"
class TestClassCase:
@pytest.mark.parametrize("phone,code,msg", [
("13250813191", "1234", "应该验证通过"),
("1325081319", "1234", "手机号长度不足11位,应该验证失败"),
("13250813191", "123", "验证码长度不足4位,应该验证失败"),
])
def test_param_case(self, phone, code, msg):
""" 1、基于pytest.mark.parametrize装饰器实现测试用例参数化 """
assert len(phone) == 11 and len(code) == 4, msg
# 2、使用fixture中的param参数,完成前置条件的参数化
@pytest.fixture(params=[
{"username": "admin", "scope": 1},
{"username": "user", "scope": 2}
], ids=["admin", "user"])
# 4、ids参数只是对应params里面参数的标识,如果不传,则回去变量名或者函数名+序号
# @加了ids的参数,pytest命令行执行用例时,可以使用-k id_name 来执行该条用例
def init_func(self, request):
# 3、只能通过request.param获取参数
self.scope = request.param['scope']
return self.scope
def test_fixture_param_case(self, init_func):
assert init_func == 1, "登录用户必须是管理员"
@pytest.fixture()
def get_auth(self, request):
return request.param['scope']
# indirect=True时,第一个参数就不再是变量名而是函数了
@pytest.mark.parametrize("get_auth", [
{"username": "admin", "scope": 1},
{"username": "user", "scope": 2}
], indirect=True)
def test_data_case(self, get_auth):
# 使用pytest.mark.parametrize+fixture实现前置条件的参数化
assert get_auth == 1, "登录用户必须是管理员"
最新文章
- EntityFramework 7 Migrations 迁移命令
- lua的私有性(privacy)
- jsf2.0 tomcat 修改页面后无法立马看到页面修改效果
- (9)UI(容器)
- jQuery-vsdoc.js文件是vs中的JavaScript intellisense,
- Unity3D 判断鼠标是否按在UGUI上
- position:absolute,绝对定位和相对定位,JQ隐藏和显示
- [AngularJS + Webpack] Using Webpack for angularjs
- Google搜索解析
- 关于node升级到7.0,无法gulp alljs的问题
- 如何对 GIT 分支进行规划? (转)
- [LeetCode] Diameter of Binary Tree 二叉树的直径
- 一脸懵逼学习Storm---(一个开源的分布式实时计算系统)
- jmeter内存溢出解决办法
- Spring boot 入门篇
- Coursera台大机器学习技法课程笔记09-Decision Tree
- JQ实现弹幕效果
- C++创建虚拟机调用JAVA类
- select语法图
- redis介绍(1)命令介绍
热门文章
- hystrix动态修改参数
- c语言之结构
- Jenkins持续集成git、gitlab、sonarqube(7.0)、nexus,自动化部署实战,附安装包,严禁转载!!!
- Hadoop演进与Hadoop生态
- python-字符串,字典,列表
- day55:django:cookie&;session
- SSTI服务器模板注入(以及关于渲染,solt的学习)&;&;[BJDCTF2020]The mystery of ip 1
- Go map相关
- LPCTSTR类型和字符串
- PicGo图床与Typora(PicGo+Typora+GitHub的完整设置)