python ddt模块

python数据驱动模块ddt

一、安装 pip install ddt

二、使用,参考文章 https://www.cnblogs.com/miniren/p/7099187.html

1、传入一个参数

[python] view plain copy

import unittest 

from ddt import ddt,data,unpack 

@ddt 

class MyTestCase1(unittest.TestCase): 

    @data(1,2,3) 

    def test_normal(self,value): 

        print(value) 

        self.assertEqual(value,2) 

if __name__=='__main__': 

    unittest.main() 

1

2

3

4

5

6

7

8

9

10

11

2、传入元组、字典、列表等复杂结构数据,@data 标签结合 @unpack使用

[python] view plain copy

import unittest 

from ddt import ddt,data,unpack 

@ddt 

class MyTestCase2(unittest.TestCase): 

    @data((1,2),(2,3)) 

    @unpack 

    def test_tuple(self,value1,value2): 

        print(value1,value2) 

        self.assertEqual(value2,value1+1) 

    @data([1,2],[2,3]) 

    @unpack 

    def test_list(self,value1,value2): 

        print(value1,value2) 

        self.assertEqual(value2,value1+1) 

    @data({'value1':1,'value2':2},{'value1':1,'value2':2}) 

    @unpack 

    def test_dict(self,value1,value2): 

        print(value1,value2) 

        self.assertEqual(value2,value1+1) 

if __name__=='__main__': 

    unittest.main() 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

3、以文件作为数据传递@file_data

传递json数据

[python] view plain copy

import unittest 

from ddt import ddt,data,unpack,file_data 

@ddt 

class MyTestCase3(unittest.TestCase): 

    @file_data('E:\\a.json') 

    def test_file(self,value): 

        print(value) 

if __name__=='__main__': 

    unittest.main() 

1

2

3

4

5

6

7

8

9

10

11

以上只是简单的使用了ddt模块进行数据驱动,实际项目应用过程中应该还需要更多知识的结合使用。

https://blog.csdn.net/u013118036/article/details/45558951

http://www.cnblogs.com/nuonuozhou/p/8645129.html

这篇文章将ddt模块与xldr excel一起使用,进行数据驱动

你可能感兴趣的:(python ddt模块)