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