DDT示范

2024-02-12 21:10
文章标签 示范 ddt

本文主要是介绍DDT示范,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DDT(装饰器
data(装饰我们的测试类
data(*value)动态参数

前提回顾

def stud(args)
print(type(args))
print(args)
print(‘args的长度是:’,len(args))
t=stud(‘好呀’,‘小陈’,‘月亮的味道’,‘差不都新生’)
stud(t)
在这里插入图片描述
字典也是一样的,也是一个整体
在这里插入图片描述
所以也是长度为1
但是如果 前面加一个
号,如图。会拆分
在这里插入图片描述
列表如图
在这里插入图片描述

在这里插入图片描述

代码:

import unittest
from ddt import ddt,data,unpackt=(('好呀','小陈'),('月亮','差不多先生','醉里簪花'))
#如果列表里面第一个是2个参数,第二个是3个参数 就是个数不一定的话
#那么就需要给它默认值
#或者*args@ddt#装饰类
class TestAdd(unittest.TestCase):@data(*t)#data解包只有有几个参数,就运行几个用例
# 这里面传的是动态参数  解包之后,有几个参数就运行几个用例
# 有装饰器的时候先运行data,把传给data的数据通过data# 传给test_001de self
@unpack#把上面data解包的数据 再次根据,逗号去拆分
def test_001(self,a,b,c=None):# 这里的self是不可以传参的,#如果需要传参,就要放到超继承里面去或者是# setup里面去传参print('test_001下面开始打印参数')print('test_001参数值a:',a)print('test_001参数值b:',b)print('test_001参数值c:',c)print('test_001下面结束打印参数')print()@data(t)  # data解包只有有几个参数,就运行几个用例
def test_002(self, item):print('test_002下面开始打印参数')print('test_002参数值:', item)print('test_002下面结束打印参数')print()

结果如下:

在这里插入图片描述

这篇关于DDT示范的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/703619

相关文章

Java 线程池:参数、配置和常见问题以及案例示范

Java 线程池:参数、配置和常见问题以及案例示范 线程池是提高系统性能和资源利用率的关键组件之一。通过合理配置线程池,可以有效地管理线程资源,避免系统过载,提升并发处理能力。本文将以电商交易系统为案例,详细讲解 Java 线程池的参数、配置、以及常见问题和解决方案以及在springboot中线程池的使用。 1. 什么是线程池? 线程池(Thread Pool)是一种基于对象池(Object

Web安全之GroovyShell讲解:错误与正确示范,安全问题与解决方案

1. 引言 Groovy 是一门基于 Java 虚拟机(JVM)的动态语言,而 GroovyShell 是 Groovy 提供的一个灵活强大的脚本执行工具。通过 GroovyShell,开发者可以在运行时动态执行 Groovy 脚本,它的灵活性非常适合那些需要动态编译与执行脚本的应用场景。然而,动态执行脚本同时也带来了一些潜在的安全风险,尤其在开发电商交易系统等敏感业务场景时,防止脚本注入与权限

MySQL 字符串操作详解和案例示范

MySQL 字符串操作详解 MySQL 提供了丰富的字符串操作函数,能够对这些字符串进行截取、定位、替换等操作。本文将详细讲解 MySQL 中的字符串操作函数,包括 SUBSTRING()、SUBSTR()、LEFT()、RIGHT()、LOCATE()、POSITION()、FIND_IN_SET()、ELT()、INSERT() 和 REPLACE(),并分析它们的区别和用法。 一、SUB

Redis缓存穿透、缓存击穿与缓存雪崩的详细讲解和案例示范

在高并发的电商交易系统中,Redis缓存的使用可以极大地提高系统的性能。然而,缓存机制也面临着一些挑战,尤其是缓存穿透、缓存击穿和缓存雪崩问题。这些问题如果处理不当,可能导致系统的性能大幅下降,甚至出现系统崩溃的情况。本文将详细介绍这些问题及其解决方案,并结合电商交易系统的案例进行示范,提供相应的代码示例。 第一章:Redis缓存穿透 1.1 缓存穿透的定义 缓存穿透是指用户请求的数据在

Java设计模式之外观模式详细讲解和案例示范

1. 引言 在软件开发过程中,复杂的系统往往包含许多子系统和模块,随着系统功能的增加,模块之间的交互也变得更加复杂。这种复杂性可能会导致系统的可维护性和扩展性降低。外观模式(Facade Pattern)是一种结构型设计模式,通过提供一个简化的接口,将复杂的子系统隐藏在幕后,使得外部客户端可以更轻松地与系统进行交互。 本文将详细讲解外观模式的定义、使用场景、常见问题及其解决方案,我们还将深入探讨

Python数据驱动自动化测试ddt,生成html文件

读取Excel(测试用例.xlsx)中的数据作为接口测试的参数,TestApi为测试用例的类,生成html文件。   #!/usr/bin/env python# -*- coding: UTF-8 -*-import unittest,time,osimport HTMLTestRunnerfrom cases.test_api import TestApi# 加载测试套件su

Java设计模式之原型模式详细讲解和案例示范

引言 在软件设计中,设计模式为我们提供了可复用的解决方案,以应对常见的设计问题。原型模式(Prototype Pattern)是创建型设计模式的一种,它允许通过复制现有对象来创建新对象,而不需要了解创建过程的细节。本文将详细探讨原型模式,结合电商交易系统中的具体案例,深入讲解其使用场景、常见问题及解决方案。 1. 原型模式概述 1.1 定义 原型模式是一种创建型设计模式,通过复制现有对象(

Java设计模式之工厂模式详细讲解和案例示范

在Java的设计模式中,工厂模式(Factory Pattern)是最常见和最有用的一种创建型模式。工厂模式的核心思想是将对象的创建与使用分离,从而提供了一种灵活的方式来创建不同类型的对象。这种模式尤其适用于复杂对象的创建过程,并且可以很好地应对对象类型的变化。本文将详细讲解工厂模式,结合电商交易系统中的实际应用场景,讨论常见问题和解决方案。 工厂模式是一种创建型设计模式,它提供了一种创建对象的

Java设计模式之单例模式详细讲解和案例示范

单例模式(Singleton Pattern)是Java设计模式中最简单但却非常实用的一种。它确保一个类只有一个实例,并提供一个全局的访问点。本文将通过电商交易系统为例,详细探讨单例模式的使用场景、常见问题及解决方案。 1. 单例模式简介 1.1 什么是单例模式? 单例模式是一种创建型设计模式,它确保某个类在系统中只有一个实例存在,并提供一个全局访问该实例的方式。这种模式适用于以下情况:

MySQL事务详细讲解和案例示范

在数据库系统中,事务是确保数据一致性和完整性的关键机制。它是指一组要么全部执行,要么全部回滚的操作,从而保证数据的原子性。 一、事务的ACID属性 事务具有四个基本属性,简称为ACID属性。这四个属性是保障事务操作可靠性的重要基石。 原子性(Atomicity): 定义:事务中的所有操作要么全部执行成功,要么全部回滚,事务是不可分割的工作单位。例子:在电商交易系统中,用户付款和订单生成是一个