ddt实战
案例1:
import unittest
from ddt import ddt,data
@ddt
class Tset_sj(unittest.TestCase):
@data(1,2,3)
def test_a(self,v):
print(v)
if name == ‘main’:
unittest.main()
结果:
1
2
3
…
案例2:
A、
import unittest
from ddt import ddt,data
@ddt
class Dz_fj(unittest.TestCase):
@data((1,2,3),(4,5,6))
def test_02(self,v1):
print(v1)
if name == ‘main’:
unittest.main()
结果:
..
(1, 2, 3)
Ran 2 tests in 0.000s
OK
(4, 5, 6)
备注:结果是未分组,需要我们分组
备注:导入 unpack 拆分数据模块
import unittest
from ddt import ddt,data,unpack
@ddt
class Dz_fj(unittest.TestCase):
@data((1,2,3),(4,5,6))
@unpack #拆分数据
def test_02(self,v1,v2,v3):
print(v1,v2,v3)
if name == ‘main’:
unittest.main()
========================
案例3:
import unittest
from ddt import ddt,data,unpack
@ddt
class Dz_fj(unittest.TestCase):
@data([{‘gs’:‘dcs’,‘js’:1},{‘df’:‘hz’,‘bj’:15}]) #读取列表数据
@unpack #拆分数据
def test_02(self,v1,v2):
print(v1,v2)
if name == ‘main’:
unittest.main()
结果:
{‘gs’: ‘dcs’, ‘js’: 1} {‘df’: ‘hz’, ‘bj’: 15} 拆分不带有[ ],拆分是将列表中的2个字典拆分,有两个数据
========================
案例4:
(1)
import unittest
from ddt import ddt,data
@ddt
class Dz_fj(unittest.TestCase):
@data({‘gs’:‘dcs’,‘js’:1},{‘df’:‘hz’,‘bj’:15}) #读取字典单组数据
def test_02(self,v1):
print(v1)
if name == ‘main’:
unittest.main()
(2)
import unittest
from ddt import ddt,data,unpack
@ddt
class Dz_fj(unittest.TestCase):
@data({‘gs’:‘dcs’,‘js’:1},{‘gs’:‘hz’,‘js’:15}) 键和值相同,多数据拆分
@unpack
def test_02(self,gs,js):
print(gs,js)
if name == ‘main’:
unittest.main()
备注:打印了值,没有打印键
========================