unittest+DDT

 

import unittest
from ddt import ddt, data, unpack

test_list = [[1,2],[3,4]]
test_dict = [{'name':"jike", "age":18}]

@ddt #ddt装饰器,只能装饰测试类
class DDT_Unittest(unittest.TestCase):

	def setUp(self):
		pass
		
	def tearDown(self):
		pass
	
	@data(*test_list) #参数前面加*号是脱去test_list外面的[],变成:[1,2],[3,4]
	@unpack #1. 使用unpack,将脱去外衣的test_list,再按照,分割,最后成:[1,2] [3,4]
	        #2. 接收参数个数要与单个列表中的元素个数一致
	def test_ddt_list(self, a, b):
		print(f'test_ddt_list: a的值是:{a}')
		print(f'test_ddt_list: b的值是:{b}')

		'''
		结果是:
		a的值是:1
		b的值是:2
		a的值是:3
		b的值是:4
		'''
	
	@data(*test_dict)
	@unpack #1. 对字典进行unpack时,接收的参数名需要与字典的key对应
	        #2. 如果字典键值对超过5个时,则不建议用unpack,直接接收整个字典,后面取值直接从字典中取值
	def test_ddt_dict_two(self, name, age):
		print(f'test_ddt_dict_two: name的值是:{name}')
		print(f'test_ddt_dict_two: age的值是:{age}')

		'''
		结果是:
		name的值是:jike
		age的值是:18
		'''

	@data(*test_dict)
	#@unpack #2. 如果字典键值对超过5个时,则不建议用unpack,直接接收整个字典,后面取值直接从字典中取值
	def test_ddt_dict_many(self, test_data):
		print(f'test_ddt_dict_many: test_data的值是:{test_data}, 类型是:{type(test_data)}')
		print(f'test_ddt_dict_many: 从test_data中取name值:{test_data["name"]}')

		'''
		结果是:
		test_data的值是:{'name': 'jike', 'age': 18}, 类型是:<class 'dict'>
		从test_data中取name值:jike
		'''

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值