前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python ddt驱动使用示例

python ddt驱动使用示例

作者头像
雷子
发布2021-03-15 15:11:15
6190
发布2021-03-15 15:11:15
举报
文章被收录于专栏:雷子说测试开发

DDT包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据),file_data(可以从json或者yaml中获取测试数据)

实例代码:

代码语言:javascript
复制
import ddtimport  unittest
test_data1 = [{"username": "zhangsan", "pwd": "zhangsan"},
             {"username": "lisi", "pwd": "lisi"},
             {"username": "wangwu", "pwd": "wangwu"},
             ]
test_data2 = [{"username": "wukong", "pwd": "wukong"},
             {"username": "wuneng", "pwd": "woneng"},
             {"username": "wujing", "pwd": "wujing"},
             ]
@ddt.ddtclass Test(unittest.TestCase):  
   def setUp(self):        
       print("Start!")    
   def tearDown(self):        
        print("end!")
   @ddt.data(*test_data1)    
   def test_ddt1(self, data):       
        print(data)
   @ddt.data(*test_data2)    
    def test_ddt2(self, data):           
        print(data)

if __name__ == "__main__":
   unittest.main()

运行结果

接口测试使用:

代码语言:javascript
复制
import requests,ddt,unittest,json
data=[200,201,200,201]
@ddt.ddtclass DoubanTest(unittest.TestCase):    
 
     def setUp(self):        pass
def tearDown(self):        pass
def beij(self):
       cliner=requests.get('https://api.douban.com/v2/user/q')
       m=cliner.status_code        
        return m
   @ddt.data(*data)    
    def test1(self,data):
       m=self.beij()        
        print(data)
       self.assertEqual(m,data)
if __name__ =='__main__':
   unittest.main()

运行示范

示范的是@data 这个装饰器的以上。

下面我们来看看文件的

@file_data(filename)

代码语言:javascript
复制
import ddtimport  unittest
@ddt.ddt
  
class Test(unittest.TestCase):  
   def setUp(self):        
 
      print("Start!") 
   def tearDown(self):    
      print("end!")
   @ddt.file_data('data.yaml')  
   def test_ddt1(self, value):      
       print(value)

if __name__ == "__main__":
   unittest.main()
运行结果

支持文件json yaml类型

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档