@ddt : 类的装饰器
@data:直接输入测试数据
@file_data:输入数据文件的绝对路径
@unpack:分解数据标志
example1:使用 “@data” 输入简单测试数据
import unittest
from ddt import ddt,data,file_data,unpack
@ddt
class myddt(unittest.TestCase):
@data(1,2,3)
def test_a(self,value):
print(value)
if __name__=='__main__':
unittest.main()
输出:
1
2
3
example2:使用 “@data” 输入简单测试数据**
import unittest
from ddt import ddt,data,file_data,unpack
@ddt
class myddt(unittest.TestCase):
@data([2,3],[4,5])
def test_a(self,value):
print(value)
if __name__=='__main__':
unittest.main()
输出:
[2, 3]
[4, 5]
example3:使用 “@data+@unpack” 输入简单测试数据**
import unittest
from ddt import ddt,data,file_data,unpack
@ddt
class myddt(unittest.TestCase):
@data([2,3],[4,5])
@unpack
def test_a(self,first,second):
print("first:",first)
print("second:",second)
if __name__=='__main__':
unittest.main()
输出:
first: 2
second: 3
first: 4
second: 5
example4:使用 “@file_data” 输入json格式测试数据(除了以“.yml”和“.yaml”结尾的文件,其它的都会被默认为json格式的文件)
import unittest
from ddt import ddt,data,file_data,unpack
@ddt
class myddt(unittest.TestCase):
@file_data('E:\mytest\mytest.json')
def test_a(self,**value):
print(value)
if __name__=='__main__':
unittest.main()
example5:使用 “@file_data” 输入yaml格式测试数据
import unittest
from ddt import ddt,data,file_data,unpack
@ddt
class myddt(unittest.TestCase):
@file_data('E:\mytest\mytest.yaml')
def test_a(self,**value):
print(value)
if __name__=='__main__':
unittest.main()