python之ddt模式json随记

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'}"
}

方法在于如何使用,适合自己的才是最好的。

原文地址:https://www.cnblogs.com/dflblog/p/11363688.html