1. 程式人生 > 其它 >Python之DDT(資料驅動測試)

Python之DDT(資料驅動測試)

ddt 全稱:data driver test 資料驅動測試
ddt裝飾器:用來裝飾類
file_data裝飾器:用來裝飾方法
data裝飾器:用來裝飾方法

什麼是資料驅動?

資料驅動,指在自動化測試中處理測試資料的方式。

通常測試資料與功能函式分離,儲存在功能函式的外部位置。在自動化測試執行時,資料驅動框架會讀取資料來源中的資料,

把資料作為引數傳遞到功能函式中,並會根據資料的條數多次運行同一個功能函式。

資料驅動的資料來源可以是函式外的資料集合、CSV 檔案、Excel 表格、TXT 檔案,以及資料庫等。

ddt作用:
1、可以迴圈讀取檔案中的資料,用來做介面自動化資料驅動測試
2、可以配合xlutils,xlrd,xlwt讀寫.xls格式檔案,資料回寫
3、可以配合openpyxl讀寫.xlsx格式檔案,資料回寫'''

為什麼要做資料驅動?

1、資料驅動能夠減少重複程式碼

沒有資料驅動時,並且同一個功能函式存在多個測試資料,你只能多次呼叫這個功能函式;
另外一旦某一個測試資料有更改/刪除,你需要在函式呼叫裡去更改相應的測試資料,非常不方便。
但有了測試驅動時,無須進行多次呼叫,而且當測試資料發生改變時, 僅需要更改資料來源檔案的資料就可以了。

2.資料所屬的測試用例失敗,不會影響到其他測試資料對應的測試用例

沒有資料驅動之前,假設我們有這樣的一個函式:

test_data = [0, 1, 0, 1]

def test_without_data_driven(records):

for x in records:

assert x > 0

test_without_data_driven(test_data)

當執行這段程式碼時,因為 test_data 的第一個值是 0, 它不大於 0。所以斷言失敗,所有 test_data 這個函式 0 後面的測試資料都沒有執行。

如果有了資料驅動,則資料驅動會把這一個測試按照測試資料分解成多個測試,所有第一個測試資料失敗不也會影響到後面的測試結果。

本文來自部落格園,作者:夏夏夏天的西瓜,轉載請註明原文連結:https://www.cnblogs.com/qiang6313669/p/15104943.html