Python Unittest参数化parameterized之数据驱动
生活随笔
收集整理的這篇文章主要介紹了
Python Unittest参数化parameterized之数据驱动
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、parameterized介紹
之前我們寫過
Unittest第三方庫parameterized類似Unittest的DDT、Pytest@pytest.mark.parametrize,可以實現參數化用戶數據驅動,避免寫多個方法(冗余)
二、安裝
pip? install? parameterized
三、導入
from parameterized import parameterized,param
四、實例
1、實現2個參數相加等于第3個參數,我們可以看到,參數是以列表形式傳入的,根據參數個數,迭代不同次數
from parameterized import parameterized,param import unittest import requests class Test(unittest.TestCase):@parameterized.expand([param(1,2,3),param('he','llo','hello')])def test(self,test1,test2,test3):self.assertEqual((test1+test2),test3)if __name__ == '__main__':unittest.main()Testing started at 12:36 ... "C:\Program Files\Python35\python.exe" "C:\Program Files\JetBrains\PyCharm Community Edition 2018.2.4\helpers\pycharm\_jb_unittest_runner.py" --path C:/Users/wangli/PycharmProjects/Test/test/test01.py Launching unittests with arguments python -m unittest C:/Users/wangli/PycharmProjects/Test/test/test01.py in C:\Users\wangli\PycharmProjects\Test\testRan 2 tests in 0.001sOKProcess finished with exit code 02、我們可以通過上面方法實現我們測試用例的迭代,將測試用例的請求參數組裝成列表形式,傳給@parameterized.expand([參數1,參數2,參數3]),實現測試用例的多次迭代,避免寫多個測試方法
from parameterized import parameterized,param import unittest import requests class Test(unittest.TestCase):@parameterized.expand([param('url','headers','data1'),param('url','headers','data2')])def test(self,url,headers,data):print(url,headers,data)r=requests.post(url=url,headers=headers,json=data)if __name__ == '__main__':unittest.main()Testing started at 12:46 ... "C:\Program Files\Python35\python.exe" "C:\Program Files\JetBrains\PyCharm Community Edition 2018.2.4\helpers\pydev\pydevd.py" --multiproc --qt-support=auto --client 127.0.0.1 --port 1145 --file "C:\Program Files\JetBrains\PyCharm Community Edition 2018.2.4\helpers\pycharm\_jb_unittest_runner.py" --path C:/Users/wangli/PycharmProjects/Test/test/test01.py pydev debugger: process 24756 is connectingConnected to pydev debugger (build 182.4505.26) Launching unittests with arguments python -m unittest C:/Users/wangli/PycharmProjects/Test/test/test01.py in C:\Users\wangli\PycharmProjects\Test\testRan 2 tests in 0.004sOK url headers data1 url headers data2Process finished with exit code 0?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Python Unittest参数化parameterized之数据驱动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python身份证号掩盖出生日期的代码_
- 下一篇: 【性能测试】性能测试工具选择