首頁 > 軟體

Python中unittest的資料驅動詳解

2022-08-26 18:05:21

前言

在設計用例的時候,有些用例只是引數資料的輸入不一樣,比如登入這個功能,操作過程是一樣的.如果重複去寫操作過程會增加程式碼量,對應這種多組資料的測試用例,可以用資料驅動設計模式,一組資料對應一個測試用例,用例自動載入生成.

一.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 資料驅動內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com