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'}"
}
方法在于如何使用,适合自己的才是最好的。