ddt数据驱动模式还可以使用json文件来作为数据驱动,如下
import ddt
import unittest
## 使用ddt的json数据来驱动
@ddt.ddt
class Test(unittest.TestCase):
def setUp(self):
print('start')
## 使用json数据驱动
@ddt.file_data('test.json')
def test_a(self,data):
print(data)
if __name__ == '__main__':
unittest.main()
结果如下:

没错,json文件里面的内容为
{
"a": 1,
"b": "b",
"c": [1,2]
}
测试函数执行了3次,每次都是打印的value
当然,也可以换个姿势使用,如下
import ddt
import unittest
## 使用ddt的json数据来驱动
@ddt.ddt
class Test(unittest.TestCase):
def setUp(self):
print('start')
## 使用json数据驱动
@ddt.file_data('test.json')
def test_a(self,data):
print(eval(data))
print(type(eval(data)))
if __name__ == '__main__':
unittest.main()
结果如下:,执行了4次结果

json文件的内容:
{
"a": "1",
"b": "'sss'",
"c": "[1,2,3,4]",
"d": "{'a':'a','b':'b'}"
}
方法在于如何使用,适合自己的才是最好的。
---疲惫的我,只想在街上找辆法拉利或者兰博基尼去试试头够不够铁
浙公网安备 33010602011771号