Pytest参数化parametrize使用代码实例

这篇文章主要介绍了Pytest参数化parametrize使用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在测试用例的前面加上:

@pytest.mark.parametrize("参数名",列表数据)

参数名:用来接收每一项数据,并作为测试用例的参数。

列表数据:一组测试数据。

示例代码:

import pytest
test_datas = [
  (11, 22, 33),
  (22, 33, 55)
]

datas_dict = [
  {"a": 1, "b": 2, "c": 3},
  {"a": 11, "b": 22, "c": 33},
  {"a": 111, "b": 222, "c": 333},
]

# 方式一:直接写
@pytest.mark.parametrize("a, b, c", [(1, 2, 3), (4, 5, 9)])
def test_add01(a, b, c):
  res = a + b
  assert res == c

# 方式二:参数为列表中嵌套元组
@pytest.mark.parametrize("data", test_datas)
def test_add02(data):
  res = data[0] + data[1]
  assert res == data[2]

# 方式三:参数为列表中嵌套字典
@pytest.mark.parametrize("data", datas_dict)
def test_add03(data):
  res = data["a"] + data["b"]
  assert res == data["c"]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python实现链表反转的方法分析【迭代法与递归法】

    本文实例讲述了Python实现链表反转的方法.分享给大家供大家参考,具体如下: Python实现链表反转 链表反转(while迭代实现): 链表的反转引入一个cur_node变量,表示当前节点:同时需要引入一个变量new_link表示反转后的新链表:while循环内还需中间变量tmp存放当前节点的后继节点,防止原链表数据丢失. 在while循环内(循环条件为 cur_node !=None,若设置为cur_node.next将导致最后一个节点无法反转到新链表): 首先需要将当前节点的后继节点传递

  • python通过文本在一个图中画多条线的实例

    废话不多说,直接上代码吧! import matplotlib.pyplot as plt import numpy as np data1 = np.loadtxt('/data_1/SSD/caffe/tools/extra/DSOD300_VOC0712_DSOD300_300x300.log.test') data2 = np.loadtxt('/data_1/SSD/caffe/tools/extra/DSOD300_VOC0712_DSOD300_300x300.log.train'

  • python实现从尾到头打印单链表操作示例

    本文实例讲述了python实现从尾到头打印单链表操作.分享给大家供大家参考,具体如下: # coding=utf-8 class SingleNode: def __init__(self, item): self.item = item self.next = None class SingleLinkedList: """ is_empty() 链表是否为空 print_end_to_head() 从尾到头打印单链表 append(item) 链表尾部添加元素 "

  • pycharm运行程序时看不到任何结果显示的解决

    原因是用程序选择了console来运行,取消console方法如下: Run->Edit Configurations 取消run with python console的勾 补充拓展:解决pycharm运行后不显示run的结果问题 1:函数结果未通过print进行输出,修改后:print (函数名()) 2:取消Run with python console 以上这篇pycharm运行程序时看不到任何结果显示的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python使用html2text库实现从HTML转markdown的方法详解

    如果PyPi上搜html2text的话,找到的是另外一个库:Alir3z4/html2text.这个库是从aaronsw/html2text fork过来,并在此基础上对功能进行了扩展.因此是直接用pip安装的,因此本文主要来讲讲这个库. 首先,进行安装: pip install html2text 命令行方式使用html2text 安装完后,就可以通过命令html2text进行一系列的操作了. html2text命令使用方式为:html2text [(filename|url) [encodi

  • postman和python mock测试过程图解

    这篇文章主要介绍了postman和python mock测试过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.python中的mock测试 1).安装mock第三方库:pip install -i https://pypi.douban.com/simple mock 2).实现demo: import unittest from mock import Mock def add(a, b): pass class TestAdd(u

  • python实现滑雪游戏

    本文实例为大家分享了python实现滑雪游戏的具体代码,供大家参考,具体内容如下 # coding: utf-8 # 滑雪小游戏 import sys import pygame import random from pygame.locals import * # 滑雪者类 class SkierClass(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) # 滑雪者的朝向(-2到2)

  • Python实现队列的方法示例小结【数组,链表】

    本文实例讲述了Python实现队列的方法.分享给大家供大家参考,具体如下: Python实现队列 队列(FIFO),添加元素在队列尾,删除元素在队列头操作 列表实现队列:利用python列表方法 代码如下: # 列表实现队列 class listQueue(object): def __init__(self): self.items = [] def is_empty(self): return self.items == None def size(self): return len(sel

  • Pytest参数化parametrize使用代码实例

    这篇文章主要介绍了Pytest参数化parametrize使用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在测试用例的前面加上: @pytest.mark.parametrize("参数名",列表数据) 参数名:用来接收每一项数据,并作为测试用例的参数. 列表数据:一组测试数据. 示例代码: import pytest test_datas = [ (11, 22, 33), (22, 33, 55) ] datas_di

  • pytest使用@pytest.mark.parametrize()实现参数化的示例代码

    目录 1.方法详情: 2.使用方法 2.1.一个列表中一个参数多个值 2.2.多参数多值 2.3.多个参数混合使用 2.4.传入字典数据 1.方法详情: parametrize(argnames,argvalues,indirect=False,ids=None,scope=None)常用参数:argnames:参数名argvalues:参数值(可以为list和tuple,或者字典列表,字典元组等),参数值有N个,用例就会执行N次. 2.使用方法 2.1.一个列表中一个参数多个值 示例代码: d

  • pytest使用parametrize将参数化变量传递到fixture

    目录 一.交代应用场景 二.使用@pytest.mark.parametrize.以及fixture的调用来解决 1. /demo_top/conftest.py 2. /demo_top/demo_sub/conftest.py 3. /demo_top/demo_sub/test_case.py 参数传递 fixture调用fixture 分享一个关于在pytest中,如何将测试用例文件中的变量传递到fixture函数. 一.交代应用场景 目前组内的项目,在根目录下是有一个conftest.

  • 通过代码实例解析Pytest运行流程

    pytest的整个测试分成如下6个阶段: 1.pytest_configure 插件和conftest.py文件配置初始化等,创建session. 2.pytest_sessionstart 创建session完以后,执行collection之前的阶段.会调用pytest_report_header向terminal打印一些环境信息,比如插件版本,python版本,操作平台这些等. 3.pytest_collection 测试用例收集以及生成测试输入的过程,这里还可能包括根据keywords和m

  • Python基础教程之pytest参数化详解

    目录 前言 源代码分析 装饰测试类 装饰测试函数 单个数据 一组数据 组合数据 标记用例 嵌套字典 增加测试结果可读性 总结 前言 上篇博文介绍过,pytest是目前比较成熟功能齐全的测试框架,使用率肯定也不断攀升.在实际 工作中,许多测试用例都是类似的重复,一个个写最后代码会显得很冗余.这里,我们来了解一下 @pytest.mark.parametrize装饰器,可以很好的解决上述问题. 源代码分析 def parametrize(self,argnames, argvalues, indir

  • Python Pytest装饰器@pytest.mark.parametrize详解

    Pytest中装饰器@pytest.mark.parametrize('参数名',list)可以实现测试用例参数化,类似DDT 如:@pytest.mark.parametrize('请求方式,接口地址,传参,预期结果',[('get','www.baidu.com','{"page":1}','{"code":0,"msg":"成功"})',('post','www.baidu.com','{"page"

  • Java编程实现从尾到头打印链表代码实例

    问题描述:输入一个链表的头结点,从尾巴到头反过来打印出每个结点的值. 首先定义链表结点 public class ListNode { int val; ListNode next = null; ListNode(int val){ this.val = val; } } 思路1:此题明显想到是利用栈的思想,后进先出,先遍历链表,依次将结点值进栈.最后在遍历栈出栈. public static Stack<Integer> printListReverse_Stack(ListNode li

  • Java探索之Thread+IO文件的加密解密代码实例

    这篇文章向大家分享了几段代码,主要是关于Thread+IO文件的加密解密,下面看看具体代码: 加密启动线程 package com.hz.subsection; import java.io.File; public class enCodeFileThread extends Thread { public Files files; public File file; public File dst; public enCodeFileThread(String name,Files file

  • oracle横向纵向求和代码实例

    有一张工资表SALARY如下, (NO 员工编号 ,MONEY 工资) NO    NAME     ITEM       MONEY 001    张三        工资        80 001    张三        补贴        86 001    张三        奖金        75 002    李四        工资        78 002    李四        补贴        85 002    李四        奖金        78 求每

  • Angular directive递归实现目录树结构代码实例

    整理文档,搜刮出一个Angular directive递归实现目录树结构代码实例代码,稍微整理精简一下做下分享. 效果图: 重点: 1. 整棵目录树的实现,通过嵌套完成,主要在于对treeItem.html的递归使用 <script type="text/ng-template" id="treeView.html"> <ul> <li ng-repeat="item in treeData.children" ng

随机推荐