电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python unittest單元測試框架實現參數化

瀏覽:7日期:2022-07-27 08:57:12

當我們在使用TestNG時,發現它有一個非常好用的參數化功能。當你的測試用例有固定的參數和斷言結果時,它可以相似用例的節省用例的個數。

例子如下:

import static org.testng.Assert.assertEquals;import org.testng.annotations.DataProvider;import org.testng.annotations.Test;/** * Created by fnngj on 2017/3/19. */public class Demo { // 定義測試數據 @DataProvider(name = 'data') public Object[][] Users() { return new Object[][] {{ 1, 1, 2},{ 2, 2, 5},{ 3, 3, 6}, }; } @Test(dataProvider='data') public void testAdd(int a,int b,int c) { assertEquals(a + b, c); }}

相對而言,Python下面單元測試框架要弱上少,尤其是Python自帶的unittest測試框架,不支持參數化,不支持多線程執行用例,不支持HTML測試報告的生成...。好再,部分不足我們可以通過unittest擴展來滿足需求。比如現在要介紹一個參數化的擴展。

在沒有參數化功能的情況下,我們的用例需要這樣編寫。

import unittestclass TestAdd(unittest.TestCase): def test_add_01(self): self.assertEqual(1 + 2, 3) def test_add_02(self): self.assertEqual(2 + 2, 5) def test_add_03(self): self.assertEqual(3 + 3, 6)if __name__ == ’__main__’: unittest.main()

nose-parameterized是一個針對Python單元測試框架實現參數化的擴展。同時支持不同的單元測試框架。

Python unittest單元測試框架實現參數化

GitHub地址:https://github.com/wolever/nose-parameterized

然后,unittest就可以像TestNG一樣寫用例了。

import unittestfrom nose_parameterized import parameterizedclass TestAdd(unittest.TestCase): @parameterized.expand([ ('01',1, 1, 2), ('02',2, 2, 5), ('03',3, 3, 6), ]) def test_add(self, name, a, b, c): self.assertEqual(a + b, c)if __name__ == ’__main__’: unittest.main(verbosity=2)

執行結果:

test_add_0_01 (__main__.TestAdd) ... ok

test_add_1_02 (__main__.TestAdd) ... FAIL

test_add_2_03 (__main__.TestAdd) ... ok

當相同入參和斷言結果的用例越多,這種寫法用起來越爽!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 杜康白酒加盟_杜康酒代理_杜康酒招商加盟官网_杜康酒厂加盟总代理—杜康酒神全国运营中心 | 座椅式升降机_无障碍升降平台_残疾人升降平台-南京明顺机械设备有限公司 | 分子精馏/精馏设备生产厂家-分子蒸馏工艺实验-新诺舜尧(天津)化工设备有限公司 | 儋州在线-儋州招聘找工作、找房子、找对象,儋州综合生活信息门户! | 不锈钢复合板厂家_钛钢复合板批发_铜铝复合板供应-威海泓方金属复合材料股份有限公司 | 防火门-专业生产甲级不锈钢钢质防火门厂家资质齐全-广东恒磊安防设备有限公司 | 基本型顶空进样器-全自动热脱附解吸仪价格-AutoHS全模式-成都科林分析技术有限公司 | 协议书_协议合同格式模板范本大全 | 激光内雕_led玻璃_发光玻璃_内雕玻璃_导光玻璃-石家庄明晨三维科技有限公司 激光内雕-内雕玻璃-发光玻璃 | 压力控制器,差压控制器,温度控制器,防爆压力控制器,防爆温度控制器,防爆差压控制器-常州天利智能控制股份有限公司 | 今日热点_实时热点_奇闻异事_趣闻趣事_灵异事件 - 奇闻事件 | 宁夏档案密集柜,智能密集柜,电动手摇密集柜-盛隆柜业宁夏档案密集柜厂家 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 彭世修脚_修脚加盟_彭世修脚加盟_彭世足疗加盟_足疗加盟连锁_彭世修脚技术培训_彭世足疗 | B2B网站_B2B免费发布信息网站_B2B企业贸易平台 - 企资网 | 拉力机-万能试验机-材料拉伸试验机-电子拉力机-拉力试验机厂家-冲击试验机-苏州皖仪实验仪器有限公司 | 深圳昂为官网-气体分析仪,沼气分析仪,动态配气仪,气体传感器厂家 | 宏源科技-房地产售楼系统|线上开盘系统|售楼管理系统|线上开盘软件 | 济南网站建设_济南网站制作_济南网站设计_济南网站建设公司_富库网络旗下模易宝_模板建站 | 北京自然绿环境科技发展有限公司专业生产【洗车机_加油站洗车机-全自动洗车机】 | 螺杆泵_中成泵业 | 电池高低温试验箱-气态冲击箱-双层电池防爆箱|简户百科 | 杭州成人高考_浙江省成人高考网上报名 | 长沙网站建设制作「网站优化推广」-网页设计公司-速马科技官网 | 沈飞防静电地板__机房地板-深圳市沈飞防静电设备有限公司 | 双吸泵,双吸泵厂家,OS双吸泵-山东博二泵业有限公司 | 刹车盘机床-刹车盘生产线-龙口亨嘉智能装备 | 通信天线厂家_室分八木天线_对数周期天线_天线加工厂_林创天线源头厂家 | 奥运星-汽车性能网评-提供个性化汽车资讯 | 食品质构分析仪-氧化诱导分析仪-瞬态法导热系数仪|热冰百科 | 汽车整车综合环境舱_军标砂尘_盐雾试验室试验箱-无锡苏南试验设备有限公司 | 陶瓷加热器,履带式加热器-吴江市兴达电热设备厂 | 南京泽朗生物科技有限公司| 专业深孔加工_东莞深孔钻加工_东莞深孔钻_东莞深孔加工_模具深孔钻加工厂-东莞市超耀实业有限公司 | 新材料分散-高速均质搅拌机-超声波分散混合-上海化烁智能设备有限公司 | 砂石生产线_石料生产线设备_制砂生产线设备价格_生产厂家-河南中誉鼎力智能装备有限公司 | 柴油发电机组_柴油发电机_发电机组价格-江苏凯晨电力设备有限公司 | 皮带输送机-大倾角皮带输送机-皮带输送机厂家-河南坤威机械 | 深圳市超时尚职业培训学校,培训:月嫂,育婴,养老,家政;化妆,美容,美发,美甲. | 纯化水设备-EDI-制药-实验室-二级反渗透-高纯水|超纯水设备 | 牛皮纸|牛卡纸|进口牛皮纸|食品级牛皮纸|牛皮纸厂家-伽立实业 |