Python中unittest的數(shù)據(jù)驅(qū)動詳解
前言
在設(shè)計用例的時候,有些用例只是參數(shù)數(shù)據(jù)的輸入不一樣,比如登錄這個功能,操作過程是一樣的.如果重復(fù)去寫操作過程會增加代碼量,對應(yīng)這種多組數(shù)據(jù)的測試用例,可以用數(shù)據(jù)驅(qū)動設(shè)計模式,一組數(shù)據(jù)對應(yīng)一個測試用例,用例自動加載生成.
一.ddt簡單介紹
1.ddt是什么
ddt:data driver tests ,數(shù)據(jù)驅(qū)動測試,是一種單元測試框架
2.使用ddt\的好處
如"前言"所說
3.導(dǎo)入ddt模塊
ddt屬于第三方模塊,需要安裝,安裝方法:
- 方法一:在cmd命令中輸入:pip install ddt
- 方法二:pycharm中打開終端,輸入:pip install ddt
4.四種模式
ddt要與unittest單元測試框架一塊結(jié)合使用
- @ddt:引入ddt模塊
- @data:導(dǎo)入數(shù)據(jù)
- @unpack:拆分?jǐn)?shù)據(jù)
- @file_data:導(dǎo)入外部數(shù)據(jù)
二.ddt處理各種類型數(shù)據(jù)
注意:
- 1.使用ddt模塊要在測試類前用@ddt進(jìn)行修飾
- 2.要導(dǎo)入測試數(shù)據(jù)需在測試用例(以test_開頭的方法)前用@data修飾
- 3.若需對測試數(shù)據(jù)進(jìn)行拆分需用@unpack修飾
- 4.若需導(dǎo)入外部數(shù)據(jù)需用@file_data修飾
1.分析ddt工作原理
代碼中@data(1,2,“jack”)傳入了三個元素,故ddt自動生成了3個測試用用例。分別打印傳入的數(shù)據(jù)
注意:
對于沒有使用ddt的測試用例來說,一個test_開頭的測試方法一次只能生成一個測試用例,但是有了ddt之后,可以一次向測試方法中傳入多個測試數(shù)據(jù),而生成測試用例的個數(shù)是根據(jù)@data中傳入的測試數(shù)據(jù)的元素而定的.
2.ddt測試元祖數(shù)據(jù)
2.1測試單組元素
2.2測試多組未分解元素
2.3測試多組分解元素
3.ddt測試列表數(shù)據(jù)
3.1多組列表拆分?jǐn)?shù)據(jù)
3.2復(fù)雜列表(含字典)拆分?jǐn)?shù)據(jù)
4.ddt測試字典數(shù)據(jù)
4.1多組字典數(shù)據(jù)拆分
5.ddt測試字典列表數(shù)據(jù)結(jié)合
在實際應(yīng)用中會存在數(shù)據(jù)比較多的情況,如果都直接把數(shù)據(jù)傳入@data中會顯得代碼非常冗雜,以包含多個字典的列表數(shù)據(jù)為例,可將包含多個字典的元素存放在一個列表變量中,在@data中傳入列表變量即可
6.ddt測試讀取文件數(shù)據(jù)
數(shù)據(jù)格式必須為json,且必須為雙引號的鍵值對形式
到此這篇關(guān)于Python中unittest的數(shù)據(jù)驅(qū)動詳解的文章就介紹到這了,更多相關(guān)Python unittest 數(shù)據(jù)驅(qū)動內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 添加用戶設(shè)置密碼并發(fā)郵件給root用戶
這篇文章主要介紹了python 添加用戶設(shè)置密碼并發(fā)郵件給root用戶的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07Django url,從一個頁面調(diào)到另個頁面的方法
今天小編就為大家分享一篇Django url,從一個頁面調(diào)到另個頁面的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08Python利用Beautiful Soup模塊搜索內(nèi)容詳解
這篇文章主要給大家介紹了python中 Beautiful Soup 模塊的搜索方法函數(shù)。 方法不同類型的過濾參數(shù)能夠進(jìn)行不同的過濾,得到想要的結(jié)果。文中介紹的非常詳細(xì),對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-03-03Python實現(xiàn)列表刪除重復(fù)元素的三種常用方法分析
這篇文章主要介紹了Python實現(xiàn)列表刪除重復(fù)元素的三種常用方法,結(jié)合實例形式對比分析了Python針對列表元素的遍歷、判斷、轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下2017-11-11Python的代理類實現(xiàn),控制訪問和修改屬性的權(quán)限你都了解嗎
這篇文章主要為大家詳細(xì)介紹了Python的代理類實現(xiàn),控制訪問和修改屬性的權(quán)限,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03