#!/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, "登录用户必须是管理员"

最新文章

  1. EntityFramework 7 Migrations 迁移命令
  2. lua的私有性(privacy)
  3. jsf2.0 tomcat 修改页面后无法立马看到页面修改效果
  4. (9)UI(容器)
  5. jQuery-vsdoc.js文件是vs中的JavaScript intellisense,
  6. Unity3D 判断鼠标是否按在UGUI上
  7. position:absolute,绝对定位和相对定位,JQ隐藏和显示
  8. [AngularJS + Webpack] Using Webpack for angularjs
  9. Google搜索解析
  10. 关于node升级到7.0,无法gulp alljs的问题
  11. 如何对 GIT 分支进行规划? (转)
  12. [LeetCode] Diameter of Binary Tree 二叉树的直径
  13. 一脸懵逼学习Storm---(一个开源的分布式实时计算系统)
  14. jmeter内存溢出解决办法
  15. Spring boot 入门篇
  16. Coursera台大机器学习技法课程笔记09-Decision Tree
  17. JQ实现弹幕效果
  18. C++创建虚拟机调用JAVA类
  19. select语法图
  20. redis介绍(1)命令介绍

热门文章

  1. hystrix动态修改参数
  2. c语言之结构
  3. Jenkins持续集成git、gitlab、sonarqube(7.0)、nexus,自动化部署实战,附安装包,严禁转载!!!
  4. Hadoop演进与Hadoop生态
  5. python-字符串,字典,列表
  6. day55:django:cookie&session
  7. SSTI服务器模板注入(以及关于渲染,solt的学习)&&[BJDCTF2020]The mystery of ip 1
  8. Go map相关
  9. LPCTSTR类型和字符串
  10. PicGo图床与Typora(PicGo+Typora+GitHub的完整设置)