最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

軟件測試 | parametrize實(shí)現(xiàn)參數(shù)化

2023-06-08 11:41 作者:愛測軟件測試  | 我要投稿

參數(shù)化用例

參數(shù)化用例可以幫我們更好的管理測試用例,將測試數(shù)據(jù)與測試用例分離,好的測試框架是允許對(duì)測試 用例實(shí)現(xiàn)參數(shù)化功能。尤其是接口自動(dòng)化測試,接口里有大量參數(shù),不同參數(shù)又有多種組合方式,參數(shù) 化在接口測試中起到非常重要的作用。

使用 parametrize 實(shí)現(xiàn)參數(shù)化

使用 @pytest.mark.paramtrize(data,param) 裝飾測試方法,其中 data 是自定義的參數(shù)名, param 是引入的參數(shù)列表。

@pytest.mark.parametrize("test_input,expected",[("3+5",8),("2+5",7),("7*5",35)])def test_eval(test_input,expected): print(test_input, expected)

運(yùn)行結(jié)果:

... PASSED [ 33%]3+5 8 PASSED [ 66%]2+5 7 PASSED [100%]7*5 35 ...

整個(gè)執(zhí)行過程中,pytest 將參數(shù)列表 [("3+5",8),("2+5",7),("7*5",35)] 中的三組數(shù)據(jù)取出來,每 組數(shù)據(jù)生成一條測試用例。

多次使用 parametrize

同一個(gè)測試用例還可以同時(shí)添加多個(gè) @pytest.mark.parametrize 裝飾器, 多個(gè) parametrize 的所有 元素互相組合(類似笛卡兒乘積),生成大量測試用例。

場景:

比如登錄場景,用戶名輸入情況有 n 種,密碼的輸入情況有 m 種,驗(yàn)證所有情況的用戶名和密碼,就 會(huì)涉及到 n*m 種組合的測試用例,如果把這些數(shù)據(jù)一一的列出來,工作量也是非常大的。pytest 提供了 一種參數(shù)化的方式,將多組測試數(shù)據(jù)自動(dòng)組合,生成大量的測試用例。示例代碼如下:

@pytest.mark.parametrize("x",[1,2])@pytest.mark.parametrize("y",[8,10,11])def test_foo(x,y): print(f"測試數(shù)據(jù)組合x: {x} , y:{y}")

運(yùn)行結(jié)果:

test_mark_paramize.py::test_foo[8-1] test_mark_paramize.py::test_foo[8-2] test_mark_paramize.py::test_foo[10-1] test_mark_paramize.py::test_foo[10-2] test_mark_paramize.py::test_foo[11-1] test_mark_paramize.py::test_foo[11-2]

分析如上運(yùn)行結(jié)果,測試方法 test_foo( ) 添加了兩個(gè) @pytest.mark.parametrize() 裝飾器,兩個(gè)裝 飾器分別提供兩個(gè)參數(shù)值的列表, 2 * 3 = 6 種組合,pytest 便會(huì)生成 6 條測試用例。在測試中通常 使用這種方法使參數(shù)自由組合,可以實(shí)現(xiàn)全面的測試。


軟件測試 | parametrize實(shí)現(xiàn)參數(shù)化的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
成都市| 砚山县| 黑水县| 济宁市| 双峰县| 德格县| 田阳县| 定陶县| 双鸭山市| 皋兰县| 瓮安县| 保山市| 开远市| 吉首市| 五家渠市| 习水县| 峡江县| 盘山县| 兴隆县| 迭部县| 东山县| 洱源县| 泰顺县| 日喀则市| 莱州市| 本溪| 巩义市| 竹山县| 青州市| 阳山县| 寻甸| 固镇县| 合水县| 余姚市| 花莲市| 厦门市| 贵定县| 邵阳市| 剑川县| 县级市| 中西区|