Python中unittest的數據驅動詳解
前言
在設計用例的時候,有些用例隻是參數數據的輸入不一樣,比如登錄這個功能,操作過程是一樣的.如果重復去寫操作過程會增加代碼量,對應這種多組數據的測試用例,可以用數據驅動設計模式,一組數據對應一個測試用例,用例自動加載生成.
一.ddt簡單介紹
1.ddt是什麼
ddt:data driver tests ,數據驅動測試,是一種單元測試框架
2.使用ddt\的好處
如"前言"所說
3.導入ddt模塊
ddt屬於第三方模塊,需要安裝,安裝方法:
- 方法一:在cmd命令中輸入:pip install ddt
- 方法二:pycharm中打開終端,輸入:pip install ddt
4.四種模式
ddt要與unittest單元測試框架一塊結合使用
- @ddt:引入ddt模塊
- @data:導入數據
- @unpack:拆分數據
- @file_data:導入外部數據
二.ddt處理各種類型數據
註意:
- 1.使用ddt模塊要在測試類前用@ddt進行修飾
- 2.要導入測試數據需在測試用例(以test_開頭的方法)前用@data修飾
- 3.若需對測試數據進行拆分需用@unpack修飾
- 4.若需導入外部數據需用@file_data修飾
1.分析ddt工作原理
代碼中@data(1,2,“jack”)傳入瞭三個元素,故ddt自動生成瞭3個測試用用例。分別打印傳入的數據
註意:
對於沒有使用ddt的測試用例來說,一個test_開頭的測試方法一次隻能生成一個測試用例,但是有瞭ddt之後,可以一次向測試方法中傳入多個測試數據,而生成測試用例的個數是根據@data中傳入的測試數據的元素而定的.
2.ddt測試元祖數據
2.1測試單組元素
2.2測試多組未分解元素
2.3測試多組分解元素
3.ddt測試列表數據
3.1多組列表拆分數據
3.2復雜列表(含字典)拆分數據
4.ddt測試字典數據
4.1多組字典數據拆分
5.ddt測試字典列表數據結合
在實際應用中會存在數據比較多的情況,如果都直接把數據傳入@data中會顯得代碼非常冗雜,以包含多個字典的列表數據為例,可將包含多個字典的元素存放在一個列表變量中,在@data中傳入列表變量即可
6.ddt測試讀取文件數據
數據格式必須為json,且必須為雙引號的鍵值對形式
到此這篇關於Python中unittest的數據驅動詳解的文章就介紹到這瞭,更多相關Python unittest 數據驅動內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 基於Python的接口自動化unittest測試框架和ddt數據驅動詳解
- Python接口自動化系列之unittest結合ddt的使用教程詳解
- python 基於DDT實現數據驅動測試
- python中的unittest框架實例詳解
- python中unittest框架應用詳解