zoukankan      html  css  js  c++  java
  • 【python+ddt】DDT模块的使用

    ddt模块包含了一个类的装饰器ddt和两个方法的装饰器:

    data:包含多个你想要传给测试用例的参数;

    file_data:会从jsonyaml中加载数据;

    unpanck:通常data中包含的每一个值都会作为一个单独的参数传给测试方法,如果这些值是用元组或者列表传进来的,可以用unpack方法将其自动分解成多个参数

    @data(a,b)

      那么ab各运行一次用例

    @data([a,d],[c,d])

      如果没有unpack,那么[a,b]当成一个参数传入用例运行

      如果有unpack,那么[a,b]被分解开,按照用例中的两个参数传递

    如下代码:

     1 import unittest
     2 import ddt  #第三方库
     3 
     4 data=[[1,2],[3,4],[5,6]]
     5 
     6 @ddt.ddt
     7 
     8 class MyTestCase(unittest.TestCase):
     9 
    10     只有一个参数时
    11     @ddt.data(1,2,3)
    12     def test_01(self,a):
    13         print(a)
    14 
    15     @ddt.data(*data)#表示可变参数取值为data([1,2],[3,4],[5,6]),若传参是data,则后面的取值 data([[1,2],[3,4],[5,6]])
    16     @ddt.unpack
    17     def test_02(self,a,b):
    18         print(a,'----',b)
    19 
    20     @ddt.data([1,2],[3,4])#和上面的相似,这里未使用变量
    21     @ddt.unpack
    22     def test_03(self,a,b):
    23         print(a, '----', b)
  • 相关阅读:
    python全栈闯关--16-匿名函数
    python全栈闯关--15-内置函数
    python全栈闯关--14-生成器进阶
    示例库
    MySQL的远程连接
    前后端传输编码方式
    后端接收前端时间参数
    控制器接参的空值问题
    MyBatis模糊查询的几种方式
    MySQL常用函数
  • 原文地址:https://www.cnblogs.com/dhs94/p/9846571.html
Copyright © 2011-2022 走看看