五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

如何利用 xUnit 框架對測試用例進行維護?

2022-10-08 16:43 作者:愛測軟件測試  | 我要投稿

先看 Wikipedia 上的解釋: xUnit 是一系列測試框架的統(tǒng)稱,最開始來源于一個叫做 Smalltalk 的 SUnit 框架,現(xiàn)在各種面向?qū)ο蟮恼Z言,如 Java、Python 的鼻祖就是 Smalltalk,后來這些語言都借助了 Sunit 框架的理念,有很多通用的規(guī)范和特征,也就統(tǒng)稱為 xUnit。

  • Java : JUnit、TestNG

  • Python : UnitTest、PyTest

  • Test Runner :測試的運行器

  • Test Case :測試用例

  • Test Fixtures : 測試夾具 / 治具,用來管理測試用例的執(zhí)行

  • Test Suites :測試套件,用來編排測試用例

  • Test Execution:測試執(zhí)行,以何種順序執(zhí)行

  • Test Result Formatter:測試結(jié)果,具備相同的格式,可被整合

  • Assertions:斷言

  • Junit4 仍然是 99% 的研發(fā)工程師的首選框架,方便測試工程師與研發(fā)工程師交流(拉關(guān)系~~);

  • TestNG 的使用多用于測試工程師;

  • Junit5 還未大規(guī)模普及(最推薦的框架,成熟、好用、研發(fā)測試通用);

  • 很多框架基于 Junit4 定制;

  • 測試用例的名字:特性方法名

  • 測試用例描述與標簽:注解

  • 測試用例的容器:類或者套件

  • 測試過程

  • 單元測試

  • Web 自動化測試 Selenium

  • App 自動化測試 Appium

  • 接口自動化測試 RestAssured

  • 測試斷言 1)創(chuàng)建 maven 工程 XUnit,pom.xml 中添加 Junit 依賴; 2)src/test/java 下創(chuàng)建測試類 Junit4DemoTest 注意

  • 測試類要以 Test 開頭或者結(jié)尾

  • maven auto-import

  • src/main/java 存放應(yīng)用實現(xiàn)代碼

  • src/test/java 存放單元測試

  • 單元測試的原則之一:用例可以獨立運行 基本測試 demo 運行: 運行結(jié)果: Junit4:

  • Default 取決于反射方法獲得的列表,順序固定(不保險)

  • @FixMethodOrder(MethodSorters.JVM) 順序可能變化

  • @FixMethodOrder(MethodSorters.NAME_ASCENDING) 按照名字 ASCII 順序(穩(wěn)定常用,建議使用) TestNG、Junit5:

  • 可以通過注解設(shè)置順序 Order 順序演示 運行結(jié)果:

  • Junit4:

  • @BeforeClass@AfterClass

  • @Before、@After

  • TestNG:

  • @BeforeClass

  • @BeforeMethod

  • BeforeGroup、@BeforeSuite

  • Junit5:

  • @BeforeClass

  • @BeforeEach?實操演示 1

  • 在用例執(zhí)行前后增加?@Before?和?@After: 運行結(jié)果: 實操演示 2

  • 再增加?@BeforeClass?和?@AfterClass?運行結(jié)果:

  • 基類的?@BeforeClass

  • 配置讀取、配置 Capability、初始化 driver、安裝 App,PageObject 初始化

  • 集成的子類執(zhí)行流程

  • @Before:啟動并進入特定界面

  • @Test:測試用例執(zhí)行

  • @After:回退到入口

  • @BeforeClass:進圖特定的 tab 子功能頁面

  • @AfterClass:關(guān)閉 app

  • 基類的?@AfterClass

  • driver.quit 流程順序:

  • 父類?@BeforeClass

  • 子類?@BeforeClass

  • 父類?@Before

  • 子類?@Before

  • 子類?@Test

  • 父類?@Test

  • 子類?@After

  • 父類?@After

  • 子類?@AfterClass

  • 父類?@AfterClass?實操演示 1

  • 現(xiàn)在創(chuàng)建一個子類 Junit4DemoChildrenTest,繼承 Junit4DemoTest,然后實現(xiàn)和父類一樣的方法并運行子類: 運行結(jié)果: 從運行結(jié)果中我們可以看到,子類會將與父類中一樣的方法進行覆蓋,只執(zhí)行子類中的方法 實操演示 2

  • 現(xiàn)在將子類中的方法名進行修改,使其與父類方法名不同,再運行子類: 運行結(jié)果:

  • RunWith

  • SuiteClasses

  • class 實操演示

  • 新建一個子類 Junit4DemoChildren2Test,繼承 Junit4DemoTest

  • 再建一個測試類 SuitesTest, 寫上注解?@RunWith(Suite.class), 表明這是一個測試套件,是多個測試類的一個集合,一個容器;

  • 然后利用注解?@Suite.SuiteClasses?來設(shè)置測試類集合,設(shè)置測試類執(zhí)行的順序 運行結(jié)果: 由測試結(jié)果可以看到使用套件后,測試過程為 Junit4DemoChildren2Test、Junit4DemoTest、Junit4DemoChildrenTest 的順序執(zhí)行 有時候我們需要對一些特定的用例進行分組測試,這個時候就可以用@Category來實現(xiàn) 另外在套件執(zhí)行類上運用注解:

  • @Category分組需要給定一個標簽,以類或者接口都可以,這里創(chuàng)建連個接口SlowGroup和FastGroup

  • 在用例上分別分組為SlowGroup、FastGroup和SlowGroup+FastGroup

  • 指明SlowGroup組測試執(zhí)行,F(xiàn)astGroup組的測試不執(zhí)行: 測試結(jié)果:

  • 僅指明SlowGroup組測試執(zhí)行 測試結(jié)果:

  • 僅指明不執(zhí)行的組為FastGroup 測試結(jié)果: 有時候我們需要傳入測試數(shù)據(jù),且數(shù)據(jù)可能是多組,這個時候就需要使用參數(shù)化來傳入多組數(shù)據(jù)進行測試 Junit4 的參數(shù)化稍微有點麻煩: 1)先在類名上加入注解@RunWith(Parameterized.class)表明要以參數(shù)化運行 2)用注解@Parameterized.Parameters來設(shè)定數(shù)據(jù)源 3)最后用注解?@Parameterized.Parameter?來指定數(shù)據(jù)源數(shù)據(jù)對應(yīng)的參數(shù) 4)總覽 測試結(jié)果: 從測試結(jié)果可以看到 3 組參數(shù)分別傳入方法中,方法各執(zhí)行了一次,完成參數(shù)化測試

  • 測試用例之間的順序

  • test fixtures 的順序

  • 繼承順序

  • 套件之間的順序 參考文檔鏈接 JUnit4 單元測試框架 [JUnit – About] JUnit5 單元測試框架 [JUnit 5]

Junit5 在特性上已經(jīng)超越 TestNG 了,會成為未來 Java 屆的首選測試框架。


如何利用 xUnit 框架對測試用例進行維護?的評論 (共 條)

分享到微博請遵守國家法律
佛坪县| 凤阳县| 休宁县| 综艺| 高安市| 射阳县| 乌什县| 弥渡县| 图木舒克市| 兴安盟| 武平县| 措勤县| 神农架林区| 喀喇沁旗| 龙里县| 鹿邑县| 崇阳县| 靖安县| 延津县| 巴楚县| 九龙城区| 奉化市| 仁化县| 礼泉县| 海阳市| 桂平市| 惠东县| 岚皋县| 武宣县| 枣阳市| 嘉荫县| 西充县| 武夷山市| 新河县| 依安县| 铁力市| 通化县| 双柏县| 香格里拉县| 五峰| 广西|