天天看點

Python資料驅動測試 unittest+ddt

在測試工作中,我們經常會針對某一API接口,或者某一個使用者界面的輸入框設計大量的用例,每個用例包含實際輸入的各種可能的資料,這樣我們可以通過使用unittest和ddt結合的方式,實作資料驅動測試。

Python資料驅動測試 unittest+ddt

1

Unittest測試架構介紹:

Unittest 架構包含一個test Fixture,test Fixture由三部分組成,setup,testCase和teardown。Setup過程是測試用例執行前的初始化過程,teardown過程,是在測試用例執行後,對資源進行釋放和回收的過程;而testCase是具體的測試用例。

2

ddt介紹:

ddt是第三方子產品,需安裝,pip install ddt

ddt包含類的裝飾器ddt和兩個方法裝飾器data

通常情況下,data中的資料按照一個參數傳遞給測試用例,如果data中含有多個資料,以元組,清單,字典等資料,需要自行在腳本中對資料進行分解或者使用unpack分解資料。

@data(a,b) a和b各運作一次用例

@data([a,b],[c,d]) 如果沒有@unpack 那麼[a,b]當成一個參數傳入用例運作,如果有@unpack,那麼[a,b]被分解開,按照用例中的兩個參數傳遞.

輸出結果如下:

ddt也可以通過file_data 裝飾方法,加載json檔案,yaml檔案,實作資料驅動,具體代碼如下:

可以将用例寫在檔案中,通過ddt加載檔案,實作資料驅動。當然ddt也可和excel、csv檔案結合實作資料驅動測試。

ddt+csv檔案實作資料驅動:

在測試中我們可以根據具體測試情況在data中添加測試資料,通過資料驅動執行測試用例。進而避免代碼重複。

THE

END