美文网首页
python ddt

python ddt

作者: 极客匠 | 来源:发表于2021-07-28 10:02 被阅读0次

简介:Data Driven Testing,数据驱动,简单来说就是测试数据的参数化

安装

pip3 install ddt

基本使用

@data(a,b)

那么a和b各运行一次用例

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

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

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

案例:

import unittest
from ddt import ddt,data,unpack

@ddt
class MyTesting(unittest.TestCase):
    def setUp(self):
        print('this is the setUp')
    @data([1,2,3])
    def test_1(self,value):
        print(value)

    @data([3,2,1],[5,3,2],[10,4,6])
    @unpack
    def test_minus(self,a,b,expected):
        actual = int(a) - int(b)
        expected = int(expected)
        self.assertEqual(actual, expected)

    @data([2,3],[4,5])
    def test_compare(self,a,b):
        self.assertEqual(a,b)

    def tearDown(self):
        print('this is tearDown')

if __name__ == '__main__':
    unittest.main(verbosity=2)

结果分析:

test_1_1__1__2__3_ (__main__.MyTesting) ... this is the setUp
[1, 2, 3]
this is tearDown
ok
test_compare_1__2__3_ (__main__.MyTesting) ... this is the setUp
this is tearDown
ERROR
test_compare_2__4__5_ (__main__.MyTesting) ... this is the setUp
this is tearDown
ERROR
test_minus_1__3__2__1_ (__main__.MyTesting) ... this is the setUp
this is tearDown
ok
test_minus_2__5__3__2_ (__main__.MyTesting) ... this is the setUp
this is tearDown
ok
test_minus_3__10__4__6_ (__main__.MyTesting) ... this is the setUp
this is tearDown
ok
  1. test_1的测试结果是ok的, 因为 [1,2,3] 作为一个整体传给value,所有value 打印的值是[1,2,3]
  2. test_minus的测试结果也是ok的,由于在@data(...)下加了@unpack, 代表会把数据分解,得到3组测试数据
  3. test_compare的测试结果是fail的,由于没有加@unpack, 虽然还是会被理解成2组测试数据,但是[2,3]作为一个整体被传给了a, 因为b就没有值传入了,所以一执行后报了 TypeError: test_compare() missing 1 required positional argument: 'b' 这句错。

相关文章

  • 数据驱动—ddt

    一、ddt安装 ddt是python的第三方库,安装非常简单: pip install ddt ddt官方文档地址...

  • python ddt模块

    python数据驱动模块ddt 一、安装 pip install ddt 二、使用,参考文章https://www...

  • 自动化DDT的使用

    创建一个python file—ddttest 引入ddt 更新ddt File-Settings-双击pip-搜...

  • DDT数据驱动框架(1)

    先安装DDT: python3 -m pip install ddt Common包config.py代码: Ca...

  • Appium+python+excel+unittest+ddt

    一、环境搭建 Appium+Python3 python第三方库:Appium-Python-Client、ddt...

  • python——DDT

    一般进行接口测试时,每个接口的传参都不止一种情况,一般会考虑正向、逆向等多种组合。所以在测试一个接口时通常会编写多...

  • python ddt

    简介:Data Driven Testing,数据驱动,简单来说就是测试数据的参数化 安装 基本使用 @data(...

  • DDT与pytest.mark.parametrize参数化区别

    一、DDT解析参数 ddt 是第三方模块,需安装, pip install ddt DDT包含类的装饰器ddt和两...

  • python之DDT

    写得很好地一篇DDT的文章:https://www.cnblogs.com/Maruying/p/13516791...

  • 3、数据驱动测试DDT- 使用变量

    DDT:数据驱动测试pip install ddt 实现DDT的步骤:1、在测试类上使用@ddt装饰符2、在测试方...

网友评论

      本文标题:python ddt

      本文链接:https://www.haomeiwen.com/subject/jwtomltx.html