python之ddt模式json随记

ddt数据驱动模式还可以使用json文件来作为数据驱动,如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

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()

  结果如下:

python之ddt模式json随记_第1张图片

没错,json文件里面的内容为

{
  "a": 1,
  "b": "b",
  "c": [1,2]
}
测试函数执行了3次,每次都是打印的value

当然,也可以换个姿势使用,如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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次结果

python之ddt模式json随记_第2张图片

json文件的内容:

{
  "a": "1",
  "b": "'sss'",
  "c": "[1,2,3,4]",
  "d": "{'a':'a','b':'b'}"
}

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

你可能感兴趣的:(python语法,python之ddt)