国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Python unittest單元測試框架實(shí)現(xiàn)參數(shù)化

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

當(dāng)我們在使用TestNG時,發(fā)現(xiàn)它有一個非常好用的參數(shù)化功能。當(dāng)你的測試用例有固定的參數(shù)和斷言結(jié)果時,它可以相似用例的節(jié)省用例的個數(shù)。

例子如下:

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 { // 定義測試數(shù)據(jù) @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測試框架,不支持參數(shù)化,不支持多線程執(zhí)行用例,不支持HTML測試報告的生成...。好再,部分不足我們可以通過unittest擴(kuò)展來滿足需求。比如現(xiàn)在要介紹一個參數(shù)化的擴(kuò)展。

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

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單元測試框架實(shí)現(xiàn)參數(shù)化的擴(kuò)展。同時支持不同的單元測試框架。

Python unittest單元測試框架實(shí)現(xiàn)參數(shù)化

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)

執(zhí)行結(jié)果:

test_add_0_01 (__main__.TestAdd) ... ok

test_add_1_02 (__main__.TestAdd) ... FAIL

test_add_2_03 (__main__.TestAdd) ... ok

當(dāng)相同入?yún)⒑蛿嘌越Y(jié)果的用例越多,這種寫法用起來越爽!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 永城市| 荔浦县| 台江县| 锦州市| 镇沅| 集安市| 依兰县| 隆子县| 宽甸| 泾川县| 清徐县| 那曲县| 乌拉特前旗| 仲巴县| 吴忠市| 大兴区| 土默特左旗| 天峻县| 雷山县| 新巴尔虎左旗| 安岳县| 土默特右旗| 宣汉县| 德阳市| 兰州市| 南汇区| 图们市| 铁力市| 洛隆县| 仙游县| 四子王旗| 合川市| 商水县| 西昌市| 湄潭县| 南丹县| 清河县| 布尔津县| 来安县| 吉隆县| 武夷山市|