校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > pytest實現測試用例參數化

pytest實現測試用例參數化

熱門標簽:房產電銷外呼系統 南京銷售外呼系統軟件 地圖標注的意義點 蓋州市地圖標注 地圖制圖標注位置改變是移位嗎 地圖標注微信發送位置不顯示 上海機器人外呼系統哪家好 315電話機器人廣告 浙江電銷卡外呼系統好用嗎

背景

本文總結pytest的測試用例參數化。

說明

軟件測試中,輸入相應值,檢查期望值,是常見測試方法。
在自動化測試中,一個測試用例對應一個測試點,通常一組測試數據無法完全覆蓋測試范圍,所以,需要參數化來傳遞多組數據。

pytest的測試用例參數化使用如下裝飾器即可完成。

@pytest.mark.parametrize(argnames, argvalues)
# 參數:
# argnames:以逗號分隔的字符串
# argvaluse: 參數值列表,若有多個參數,一組參數以元組形式存在,包含多組參數的所有參數
# 以元組列表形式存在

示例:

參數化之一個參數。

# ./test_case/test_func.py
import pytest

@pytest.mark.parametrize("arg_1", [4399, 2012])
def test_add_by_func_aaa(arg_1):
 print(arg_1)
 
# ./run_test.py
import pytest

if __name__ == '__main__':
 pytest.main(['-v','-s'])
 
'''
============================= test session starts =============================
platform win32 -- Python 3.7.0, pytest-5.3.4, py-1.8.1, pluggy-0.13.1 -- D:\Python3.7\python.exe
cachedir: .pytest_cache
rootdir: D:\Python3.7\project\pytest, inifile: pytest.ini
plugins: allure-pytest-2.8.9, rerunfailures-8.0
collecting ... collected 2 items

test_case/test_func.py::test_add_by_func_aaa[4399] 4399
PASSED
test_case/test_func.py::test_add_by_func_aaa[2012] 2012
PASSED

============================== 2 passed in 0.04s ==============================
[Finished in 1.3s]
''' 

參數化之多個參數。

# ./test_case/test_func.py
import pytest  

@pytest.mark.parametrize("arg_1, arg_2", [(4399, 'AAAA'), (2012, 'BBBB')])
def test_add_by_func_aaa(arg_1,arg_2):
 print("arg_1:{}  arg_2:{}".format(arg_1, arg_2))

# ./run_test.py
import pytest

if __name__ == '__main__':
 pytest.main(['-v','-s'])
 
'''
============================= test session starts =============================
platform win32 -- Python 3.7.0, pytest-5.3.4, py-1.8.1, pluggy-0.13.1 -- D:\Python3.7\python.exe
cachedir: .pytest_cache
rootdir: D:\Python3.7\project\pytest, inifile: pytest.ini
plugins: allure-pytest-2.8.9, rerunfailures-8.0
collecting ... collected 2 items

test_case/test_func.py::test_add_by_func_aaa[4399-AAAA] arg_1:4399  arg_2:AAAA
PASSED
test_case/test_func.py::test_add_by_func_aaa[2012-BBBB] arg_1:2012  arg_2:BBBB
PASSED

============================== 2 passed in 0.05s ==============================
[Finished in 1.3s]
'''  

以上第2個示例,展現的是一個測試用例有兩個參數,然后參數化了兩組數據。

但在實際測試中,有的場景,比如多條件查詢,比如有2個查詢條件,每個條件有3個選項,如果要全部覆蓋,則是3*3==9種情況。這種情景,人工測試一般是不會全部覆蓋的,但在自動化測試中,只要你想,就可以做到。如下示例:

如下格式參數化,其測試結果為所有參數選項數量的乘積。

# ./test_case/test_func.py
import pytest
from func import *

'''
class TestFunc:

 # 正常測試用例
 def test_add_by_class(self):
  assert add(2,3) == 5


 def test_add_by_class_11(self):
  assert add(2,3) == 5
'''  

@pytest.mark.parametrize("arg_1", [4399,  2012, 1997])
@pytest.mark.parametrize("arg_2", ['AAAA', 'BBBB', 'CCCC'])
def test_add_by_func_aaa(arg_1,arg_2):
 print("arg_1:{}  arg_2:{}".format(arg_1, arg_2))
 

# ./run_test.py
import pytest

if __name__ == '__main__':
 pytest.main(['-v','-s'])
  
 
'''
============================= test session starts =============================
platform win32 -- Python 3.7.0, pytest-5.3.4, py-1.8.1, pluggy-0.13.1 -- D:\Python3.7\python.exe
cachedir: .pytest_cache
rootdir: D:\Python3.7\project\pytest, inifile: pytest.ini
plugins: allure-pytest-2.8.9, rerunfailures-8.0
collecting ... collected 9 items

test_case/test_func.py::test_add_by_func_aaa[AAAA-4399] arg_1:4399  arg_2:AAAA
PASSED
test_case/test_func.py::test_add_by_func_aaa[AAAA-2012] arg_1:2012  arg_2:AAAA
PASSED
test_case/test_func.py::test_add_by_func_aaa[AAAA-1997] arg_1:1997  arg_2:AAAA
PASSED
test_case/test_func.py::test_add_by_func_aaa[BBBB-4399] arg_1:4399  arg_2:BBBB
PASSED
test_case/test_func.py::test_add_by_func_aaa[BBBB-2012] arg_1:2012  arg_2:BBBB
PASSED
test_case/test_func.py::test_add_by_func_aaa[BBBB-1997] arg_1:1997  arg_2:BBBB
PASSED
test_case/test_func.py::test_add_by_func_aaa[CCCC-4399] arg_1:4399  arg_2:CCCC
PASSED
test_case/test_func.py::test_add_by_func_aaa[CCCC-2012] arg_1:2012  arg_2:CCCC
PASSED
test_case/test_func.py::test_add_by_func_aaa[CCCC-1997] arg_1:1997  arg_2:CCCC
PASSED

============================== 9 passed in 0.06s ==============================
[Finished in 1.4s]
'''

總結

以上,就是我們測試中使用的pytest測試用例參數化。

當然,如實際需要,你也可以把測試數據獨立到文件里。然后讀取出來,傳遞給@pytest.mark.parametrize(argnames, argvalues)裝飾器

到此這篇關于pytest實現測試用例參數化的文章就介紹到這了,更多相關pytest 測試用例參數化內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python pytest進階之conftest.py詳解
  • Pytest框架之fixture的詳細使用教程
  • Pytest測試框架基本使用方法詳解
  • Python 測試框架unittest和pytest的優劣
  • Pytest參數化parametrize使用代碼實例
  • python單元測試框架pytest的使用示例
  • 使用PyCharm安裝pytest及requests的問題
  • 通過代碼實例解析Pytest運行流程

標簽:赤峰 克拉瑪依 日照 臨汾 貴州 陽泉 金華 雙鴨山

巨人網絡通訊聲明:本文標題《pytest實現測試用例參數化》,本文關鍵詞  pytest,實現,測,試用,例,參數,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pytest實現測試用例參數化》相關的同類信息!
  • 本頁收集關于pytest實現測試用例參數化的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    日本在线不卡视频| 国产一区 二区 三区一级| 欧美做爰猛烈大尺度电影无法无天| 国产精品私人影院| 成人中文字幕电影| 日韩三级免费观看| 久久国产精品第一页| 日韩免费电影一区| 久久99久久久久久久久久久| 精品视频在线免费看| 亚洲成人自拍偷拍| 精品视频1区2区| 亚洲3atv精品一区二区三区| 欧美日韩久久久一区| 首页欧美精品中文字幕| 欧美一二三在线| 久久99精品国产麻豆不卡| 久久综合999| 处破女av一区二区| 亚洲美女淫视频| 在线观看欧美精品| 日日嗨av一区二区三区四区| 欧美午夜精品久久久久久孕妇 | 亚洲激情欧美激情| 欧美日韩一区高清| 美国十次综合导航| 欧美一卡二卡三卡| 国产精品18久久久久| 国产精品久久久久aaaa樱花| www.性欧美| 亚洲综合一二区| 日韩欧美在线网站| 国产成人免费视频网站 | 欧美一区午夜视频在线观看| 麻豆精品视频在线观看| 久久久一区二区| 成人av在线一区二区| 亚洲一区二区3| 日韩午夜中文字幕| 成人三级伦理片| 亚洲香蕉伊在人在线观| 日韩三级视频在线观看| 精品一区二区三区不卡| 国产精品不卡视频| 欧美群妇大交群的观看方式| 精品一区二区三区蜜桃| 亚洲婷婷综合色高清在线| 欧美电影一区二区| 久久成人久久爱| 日韩理论片一区二区| 91精品国产综合久久精品性色| 五月激情综合色| 久久久www成人免费无遮挡大片| hitomi一区二区三区精品| 天堂成人免费av电影一区| 欧美国产精品劲爆| 日韩一区二区三区高清免费看看| eeuss鲁一区二区三区| 看片的网站亚洲| 亚洲一区二区高清| 国产精品日日摸夜夜摸av| 日韩一区二区三区在线视频| 99久久99久久综合| 国产盗摄一区二区| 美女在线视频一区| 亚洲电影一级片| 中文字幕一区在线| 久久免费电影网| 91麻豆精品国产91| 欧美在线观看一区二区| jizzjizzjizz欧美| 国产精品综合二区| av亚洲精华国产精华精| 狠狠狠色丁香婷婷综合久久五月| 亚洲国产一区二区三区| 亚洲欧美一区二区不卡| 国产精品视频观看| 欧美精品一区二区三区很污很色的 | 精品美女被调教视频大全网站| 色域天天综合网| 成人av集中营| 国产精品一区二区三区四区| 免费在线观看成人| 亚洲1区2区3区4区| 亚洲国产三级在线| 一区二区三区色| 亚洲乱码国产乱码精品精小说| 国产精品乱人伦中文| 久久一夜天堂av一区二区三区| 91精品国产色综合久久不卡蜜臀 | 99r精品视频| 成人免费电影视频| 国产福利一区二区三区| 狠狠色丁香婷综合久久| 精东粉嫩av免费一区二区三区 | 丝袜美腿亚洲一区二区图片| 亚洲女爱视频在线| 亚洲品质自拍视频| 亚洲激情中文1区| 亚洲精品视频在线观看网站| 亚洲欧美在线观看| 亚洲欧洲精品一区二区三区不卡 | 中文字幕亚洲综合久久菠萝蜜| 国产日韩精品一区二区三区在线| 精品999在线播放| 亚洲精品一区二区三区影院| 精品日本一线二线三线不卡| 日韩西西人体444www| 日韩欧美高清dvd碟片| 欧美一级精品在线| 日韩一级大片在线观看| 欧美大片日本大片免费观看| 日韩欧美久久久| 欧美精品一区二区在线播放| 久久久美女艺术照精彩视频福利播放| 欧美成va人片在线观看| 欧美一区二区三区系列电影| 日韩欧美高清dvd碟片| 久久综合久久鬼色中文字| 日韩精品一区二区三区在线观看 | 一区二区三区欧美久久| 洋洋成人永久网站入口| 欧美色偷偷大香| 在线观看91精品国产入口| 欧美亚洲一区二区三区四区| 色哟哟在线观看一区二区三区| 99re这里只有精品首页| 91一区在线观看| 91高清在线观看| 欧美裸体一区二区三区| 日韩视频免费观看高清完整版 | 国产三级欧美三级日产三级99| 久久精品视频一区二区| 国产精品久久久久影院| 中文字幕一区不卡| 一区二区三区在线视频观看| 亚洲午夜免费电影| 免费成人在线影院| 国产精品99久久久久久似苏梦涵| 风流少妇一区二区| 色综合久久综合中文综合网| 欧美日韩国产精选| 精品久久国产老人久久综合| 久久亚洲综合色| 亚洲三级在线观看| 日韩在线一区二区三区| 久久成人免费日本黄色| 风流少妇一区二区| 欧美丝袜自拍制服另类| 精品国产亚洲在线| 国产精品国产三级国产普通话蜜臀 | 欧美久久久久中文字幕| 日韩欧美不卡在线观看视频| 国产性色一区二区| 一区二区久久久| 精品一区中文字幕| 91麻豆福利精品推荐| 制服丝袜中文字幕亚洲| 久久精品视频在线看| 亚洲一区二区欧美激情| 国产一二精品视频| 色94色欧美sute亚洲线路一ni| 日韩一级大片在线观看| 国产精品久久久久久妇女6080| 午夜视频一区在线观看| 国产盗摄一区二区| 欧美日韩三级视频| 日本一区二区成人| 污片在线观看一区二区| 国产999精品久久久久久绿帽| 91久久线看在观草草青青| 欧美成人伊人久久综合网| 中文字幕一区二区三| 麻豆91精品视频| 色中色一区二区| 国产亚洲va综合人人澡精品| 亚洲成人第一页| 国产91精品一区二区麻豆网站| 欧美日韩国产在线观看| 亚洲国产精品成人综合 | 国产成人欧美日韩在线电影| 欧美午夜一区二区三区| 国产精品沙发午睡系列990531| 天天影视色香欲综合网老头| 国产成人精品www牛牛影视| 欧美精品v日韩精品v韩国精品v| 国产精品黄色在线观看| 看电视剧不卡顿的网站| 欧洲一区在线电影| 中文字幕+乱码+中文字幕一区| 日韩精品久久理论片| 色综合久久六月婷婷中文字幕| 久久久久久久久久久久久夜| 亚洲五月六月丁香激情| 国产999精品久久| 精品国产人成亚洲区| 亚洲国产美国国产综合一区二区| 懂色中文一区二区在线播放| 日韩视频在线一区二区| 亚洲国产人成综合网站|