精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Spring Boot集成JUnit5,優雅單元測試!

開發 后端
我們以Spring Boot2.3.1為例,引入如下依賴,防止使用舊的junit4相關接口我們將其依賴排除。

為什么使用JUnit5


  •  JUnit4被廣泛使用,但是許多場景下使用起來語法較為繁瑣,JUnit5中支持lambda表達式,語法簡單且代碼不冗余。
  •  JUnit5易擴展,包容性強,可以接入其他的測試引擎。
  •  功能更強大提供了新的斷言機制、參數化測試、重復性測試等新功能。
  •  ps:開發人員為什么還要測試,單測寫這么規范有必要嗎?其實單測是開發人員必備技能,只不過很多開發人員開發任務太重導致調試完就不管了,沒有系統化得單元測試,單元測試在系統重構時能發揮巨大的作用,可以在重構后快速測試新的接口是否與重構前有出入。

簡介

???

如圖,JUnit5結構如下:


  •  JUnit Platform:這是Junit提供的平臺功能模塊,通過它,其它的測試引擎都可以接入Junit實現接口和執行。
  •  JUnit JUpiter:這是JUnit5的核心,是一個基于JUnit Platform的引擎實現,它包含許多豐富的新特性來使得自動化測試更加方便和強大。
  •  JUnit Vintage:這個模塊是兼容JUnit3、JUnit4版本的測試引擎,使得舊版本的自動化測試也可以在JUnit5下正常運行。

依賴引入

我們以Spring Boot2.3.1為例,引入如下依賴,防止使用舊的junit4相關接口我們將其依賴排除。

Spring Boot 基礎就不介紹了,推薦看下面這個最新的實戰教程。

??https://github.com/javastacks/spring-boot-best-practice?

<dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-test</artifactId>      <scope>test</scope>      <exclusions>          <exclusion>              <groupId>org.junit.vintage</groupId>              <artifactId>junit-vintage-engine</artifactId>          </exclusion>      </exclusions>  </dependency> 

常用注解


  •  @BeforeEach:在每個單元測試方法執行前都執行一遍
  •  @BeforeAll:在每個單元測試方法執行前執行一遍(只執行一次)
  •  @DisplayName("商品入庫測試"):用于指定單元測試的名稱
  •  @Disabled:當前單元測試置為無效,即單元測試時跳過該測試
  •  @RepeatedTest(n):重復性測試,即執行n次
  •  @ParameterizedTest:參數化測試,
  •  @ValueSource(ints = {1, 2, 3}):參數化測試提供數據

斷言

JUnit Jupiter提供了強大的斷言方法用以驗證結果,在使用時需要借助java8的新特性lambda表達式,均是來自org.junit.jupiter.api.Assertions包的static方法。 

assertTrue`與`assertFalse`用來判斷條件是否為`true`或`false  @Test  @DisplayName("測試斷言equals")  void testEquals() {   assertTrue(3 < 4);  } 

assertNull與assertNotNull用來判斷條件是否為·null 

@Test  @DisplayName("測試斷言NotNull")  void testNotNull() {   assertNotNull(new Object());  } 

assertThrows用來判斷執行拋出的異常是否符合預期,并可以使用異常類型接收返回值進行其他操作 

@Test  @DisplayName("測試斷言拋異常")  void testThrows() {      ArithmeticException arithExcep = assertThrows(ArithmeticException.class, () -> {          int m = 5/0;      });      assertEquals("/ by zero", arithExcep.getMessage());  } 

assertTimeout用來判斷執行過程是否超時 

@Test  @DisplayName("測試斷言超時")  void testTimeOut() {      String actualResult = assertTimeout(ofSeconds(2), () -> {          Thread.sleep(1000);          return "a result";      });      System.out.println(actualResult);  } 

assertAll是組合斷言,當它內部所有斷言正確執行完才算通過。Spring Boot 系列面試題和答案我都整理好了,關注公眾號Java技術棧,回復:面試,可以免費獲取。 

@Test  @DisplayName("測試組合斷言")  void testAll() {      assertAll("測試item商品下單",                () -> {                    //模擬用戶余額扣減                    assertTrue(1 < 2, "余額不足");                },                () -> {                    //模擬item數據庫扣減庫存                    assertTrue(3 < 4);                },                () -> {                    //模擬交易流水落庫                    assertNotNull(new Object());                }               );  } 

重復性測試

在許多場景中我們需要對同一個接口方法進行重復測試,例如對冪等性接口的測試。

JUnit Jupiter通過使用@RepeatedTest(n)指定需要重復的次數 

@RepeatedTest(3)  @DisplayName("重復測試")  void repeatedTest() {      System.out.println("調用");  } 

???

參數化測試

參數化測試可以按照多個參數分別運行多次單元測試這里有點類似于重復性測試,只不過每次運行傳入的參數不用。需要使用到@ParameterizedTest,同時也需要@ValueSource提供一組數據,它支持八種基本類型以及String和自定義對象類型,使用極其方便。 

@ParameterizedTest  @ValueSource(ints = {1, 2, 3})  @DisplayName("參數化測試")  void paramTest(int a) {      assertTrue(a > 0 && a < 4);  } 

內嵌測試

JUnit5提供了嵌套單元測試的功能,可以更好展示測試類之間的業務邏輯關系,我們通常是一個業務對應一個測試類,有業務關系的類其實可以寫在一起。

這樣有利于進行測試。而且內聯的寫法可以大大減少不必要的類,精簡項目,防止類爆炸等一系列問題。 

@SpringBootTest  @AutoConfigureMockMvc  @DisplayName("Junit5單元測試")  public class MockTest {      //....      @Nested      @DisplayName("內嵌訂單測試")      class OrderTestClas {          @Test          @DisplayName("取消訂單")          void cancelOrder() {              int status = -1;              System.out.println("取消訂單成功,訂單狀態為:"+status);          }      }  }  


責任編輯:龐桂玉 來源: Java技術棧
相關推薦

2021-08-26 11:00:54

Spring BootJUnit5Java

2023-12-28 17:36:10

JUnit5單元測試框架

2020-07-21 14:40:45

Spring Boot單元測試Java

2021-09-01 12:03:49

Spring單元測試

2017-01-16 12:12:29

單元測試JUnit

2017-01-14 23:26:17

單元測試JUnit測試

2020-07-07 07:33:12

Java單元集成

2011-08-11 13:02:43

Struts2Junit

2025-06-12 03:10:00

2023-09-27 23:43:51

單元測試Spring

2011-11-18 15:18:41

Junit單元測試Java

2013-06-04 09:49:04

Spring單元測試軟件測試

2017-01-14 23:42:49

單元測試框架軟件測試

2012-02-07 09:08:50

Feed4JUnitJava

2012-07-22 20:34:27

springMVCJUnit

2023-12-24 10:00:35

Java單元測試

2022-07-04 05:59:18

KotlinJUnit5數據庫

2009-06-08 19:59:09

EclipseJUnit單元測試

2009-06-08 19:57:29

EclipseJUnit4單元測試

2014-02-25 10:25:52

單元測試測試
點贊
收藏

51CTO技術棧公眾號

国产高清在线看| 一级片免费在线播放| www.亚洲一二| 欧美丝袜美女中出在线| 日韩一区二区三区资源| 97精品人妻一区二区三区香蕉| 欧美 日韩 国产精品免费观看| 精品日产卡一卡二卡麻豆| 黄色片久久久久| 一级毛片视频在线| www.日本不卡| 成人网在线免费看| 伊人手机在线视频| 亚洲最新av| 亚洲视频在线免费观看| 国产裸体视频网站| 成人性片免费| 第一福利永久视频精品| 国产对白在线播放| 国产三级电影在线观看| 国产91精品精华液一区二区三区| 国产aⅴ夜夜欢一区二区三区 | 欧美一区 二区| 欧美日韩一级二级| 97成人在线观看视频| 少女频道在线观看高清 | 国产美女在线观看一区| 欧洲美女7788成人免费视频| 久久久久久久国产精品毛片| 四虎成人精品永久免费av九九| 亚洲国内精品在线| 男人添女人荫蒂国产| 四虎国产精品免费久久| 91福利在线导航| 国产最新免费视频| av在线播放资源| 亚洲一区欧美一区| 日本国产中文字幕| 四虎影院观看视频在线观看| 综合久久国产九一剧情麻豆| 午夜精品一区二区三区在线观看 | 中文字幕乱码人妻无码久久| 香蕉久久久久久久av网站| 欧美极品少妇xxxxⅹ喷水| 亚洲最大的黄色网址| 天天综合网网欲色| 日韩一区二区三区国产| 亚洲一区 欧美| 国产免费av一区二区三区| 日韩精品中文字幕在线播放| 精品影片一区二区入口| 999在线精品| 精品精品国产高清a毛片牛牛 | 亚洲精品推荐| 亚洲乱码一区二区| 91成年人网站| 第一社区sis001原创亚洲| 色偷偷综合社区| 亚洲女人久久久| 亚洲精品久久| 欧美激情亚洲国产| 国产亚洲精品成人| 99精品国产在热久久下载| 538国产精品一区二区免费视频| 人人干人人干人人干| 亚洲在线日韩| 国产精品久久激情| 夜夜躁狠狠躁日日躁av| 国产在线乱码一区二区三区| 亚洲一区二区三区乱码aⅴ| 国产黄色一区二区| www.一区二区| 色综合久久久久久久久五月| 在线免费看av| 亚洲精品第1页| 97视频久久久| 88xx成人永久免费观看| 欧美日韩在线播放三区| 日本网站在线看| 国产成人在线中文字幕| 亚洲欧美日韩一区二区在线| www.4hu95.com四虎| 在线国产一区| 97色在线视频观看| 欧美超碰在线观看| 国产酒店精品激情| 久久久影院一区二区三区| av大片在线播放| 亚洲综合视频网| 北条麻妃av高潮尖叫在线观看| 久久91视频| 日韩一区二区在线看| v天堂中文在线| re久久精品视频| 欧美激情一二三| 这里只有精品国产| 国产成人久久精品77777最新版本| 久久久久se| 麻豆tv入口在线看| 欧美日韩综合视频网址| 中文字幕亚洲影院| 女人丝袜激情亚洲| 欧美理论电影在线播放| 成人一级免费视频| 丁香激情综合国产| 视频一区二区在线| 2020av在线| 91精品婷婷国产综合久久竹菊| 一区二区视频观看| 综合五月婷婷| 国产精品久久77777| 亚洲 国产 欧美 日韩| 亚洲三级小视频| 无码日韩人妻精品久久蜜桃| www.爱久久| 久久国产天堂福利天堂| 成人黄色免费网| 91在线观看地址| 日韩 欧美 视频| 伊人久久大香| 在线丨暗呦小u女国产精品| 日韩免费一级片| 国产精品综合一区二区三区| 亚洲高清123| 欧美动物xxx| 日韩成人网免费视频| 免费中文字幕视频| 国产真实乱偷精品视频免| 热re99久久精品国产99热| ririsao久久精品一区| 欧美一区二区三区日韩| 亚洲熟女毛茸茸| 日韩电影一区二区三区| 欧美国产一二三区| 日韩深夜视频| 亚洲精品大尺度| 国产在线精品观看| 波多野结衣在线一区| 黄色一级大片免费| 日韩视频在线直播| 欧美伦理91i| 国产成人精品一区二区无码呦| 中文字幕亚洲精品在线观看 | 不卡一区在线观看| 国产一二三在线视频| 96sao在线精品免费视频| 九九九久久久久久| www.我爱av| 一区二区三区在线观看国产| 成人三级做爰av| 欧美私人啪啪vps| 国产高清一区视频| segui88久久综合9999| 精品国产乱码久久久久久蜜臀| 玖玖爱免费视频| 成人一区在线观看| 国产青青在线视频| 在线看成人短视频| 91av在线免费观看视频| 国产剧情精品在线| 一区二区三区在线视频免费观看| 久久无码人妻一区二区三区| 欧美影院一区| 国产精品一区二区a| 多野结衣av一区| 国产视频欧美视频| 蜜臀尤物一区二区三区直播 | 久久精品国产亚洲av无码娇色| 丁香另类激情小说| 无码人妻丰满熟妇区毛片| 日韩激情在线| 99精品99久久久久久宅男| av免费不卡国产观看| 亚洲男人av电影| 亚洲专区在线播放| 一区二区三区中文字幕精品精品| 欧美大喷水吹潮合集在线观看| 亚洲免费网址| 亚洲欧美日韩另类精品一区二区三区 | 国产一级免费片| 亚洲欧美成人| 国产91av视频在线观看| jizz性欧美23| 国产精品久久在线观看| 青青在线视频| 国产亚洲精品91在线| 国产日韩欧美中文字幕| 精品福利视频导航| 尤物在线免费视频| 久久中文娱乐网| 日韩av一卡二卡三卡| 亚洲麻豆视频| 亚洲欧美日韩在线综合| 欧美精品中文| 91久久久久久久久久| 日韩精品av| 美日韩在线视频| 清纯唯美亚洲色图| 日韩精品一区在线| 中文字幕在线视频免费| 亚洲va欧美va人人爽午夜| 手机看片国产日韩| 99在线精品一区二区三区| av中文字幕网址| 免费亚洲一区| 真人抽搐一进一出视频| 97视频精品| 欧美一区二区三区四区夜夜大片| 1769国产精品视频| 国产精品色悠悠| 成人免费直播| 久久久噜久噜久久综合| 国精产品一区| 中文一区二区视频| 毛片在线免费| 亚洲黄在线观看| 亚洲成人中文字幕在线| 欧美日韩激情一区| 国产真人无遮挡作爱免费视频| 亚洲成av人影院在线观看网| 成人免费精品动漫网站| 国产日产精品1区| av网站有哪些| 99久久精品99国产精品| 特级特黄刘亦菲aaa级| 久久成人免费网| 午夜免费福利在线| 老司机午夜免费精品视频| 乱妇乱女熟妇熟女网站| 在线成人亚洲| 国产在线观看欧美| 欧美 日韩 国产 一区| 性欧美18一19内谢| 久久国产精品亚洲人一区二区三区| 免费在线观看91| 麻豆精品99| 精品国产乱码一区二区三区四区| 日韩精品一区二区三区免费视频| 亚洲一区二区三区视频播放| 电影一区二区三区久久免费观看| 国产精品日韩av| 丰满少妇一区| 国产在线观看精品| 999精品嫩草久久久久久99| 国产日韩欧美在线视频观看| 97精品国产综合久久久动漫日韩| 国产成人一区二区| 97欧美成人| 国产免费一区视频观看免费 | 成人看片视频| 9l视频自拍蝌蚪9l视频成人| 成人在线免费观看一区| 91麻豆精品激情在线观看最新 | 国内av一区二区| 国产一区二区在线观看视频| 性生活一级大片| 成人激情黄色小说| 天天躁日日躁狠狠躁免费麻豆| 97久久精品人人做人人爽| 久久精品国产亚洲av麻豆| 国产校园另类小说区| 久久日免费视频| 亚洲女人****多毛耸耸8| 精品无码免费视频| 红桃av永久久久| 国产精品第六页| 91精品国产全国免费观看| 免费av网站在线播放| 国产偷亚洲偷欧美偷精品| 草碰在线视频| 欧美精品少妇videofree| 超碰97国产精品人人cao| 欧美孕妇与黑人孕交| 97欧美成人| av一区二区三区四区电影| 天堂网av成人| 一区高清视频| 黑丝一区二区三区| 免费看a级黄色片| 国产一区二区不卡在线 | 国产a级免费视频| 亚洲精品99999| av播放在线观看| 国自在线精品视频| 成人精品国产| 国产另类自拍| 99精品美女| 男女激情无遮挡| 极品尤物av久久免费看| 国产性生活毛片| 国产精品久久久久久久久免费相片| 欧美色图亚洲天堂| 色天天综合久久久久综合片| a在线观看免费| 亚洲日本欧美中文幕| 羞羞的视频在线看| 国产精品美乳一区二区免费| 一区中文字幕| 亚洲日本精品| 亚洲综合国产激情另类一区| 91丨porny丨九色| 国产欧美日韩精品a在线观看| 久久久久久久久久一区二区三区| 色欧美片视频在线观看| 黄色三级网站在线观看| 日韩在线免费高清视频| 亚洲欧洲美洲av| 国产精品综合久久久久久| 国产精品成人一区二区不卡| 四虎永久在线精品无码视频| 懂色av一区二区在线播放| 黄色av片三级三级三级免费看| 五月天亚洲婷婷| 黄色小视频免费在线观看| 久久精品一偷一偷国产| 99热播精品免费| 快播亚洲色图| 日韩午夜激情| 人妻精油按摩bd高清中文字幕| 国产精品狼人久久影院观看方式| 国产精品黄色网| 精品国产a毛片| 怡红院红怡院欧美aⅴ怡春院| 国产精品网址在线| 国产一区二区三区四区大秀| 国产黄色一级网站| av在线不卡电影| 欧美成人aaaaⅴ片在线看| 精品免费99久久| 欧美hdxxxx| y111111国产精品久久婷婷| 天天综合亚洲| 熟妇无码乱子成人精品| 亚洲人成网站影音先锋播放| 一本色道久久综合精品婷婷| 中文亚洲视频在线| 国产精品原创视频| 一区二区免费电影| 久久福利视频一区二区| 无码人中文字幕| 91精品国产综合久久精品| 黄色网页在线免费看| 91免费的视频在线播放| 亚洲精品中文字幕乱码| 在线观看日本www| 亚洲欧美偷拍卡通变态| 国产黄色片免费| 国产69精品久久久久9| 国产 日韩 欧美 综合 一区| 青草青青在线视频| av电影在线观看一区| 波多野结衣 久久| 中文字幕亚洲无线码a| 成人免费91| 轻点好疼好大好爽视频| 97久久超碰国产精品| 亚洲不卡视频在线观看| 中文字幕av一区| 成人噜噜噜噜| 国产中文字幕乱人伦在线观看| 99精品欧美一区二区蜜桃免费| 国产成人精品一区二三区| 亚洲欧美精品伊人久久| 久久夜夜久久| 久久av高潮av| 久久青草欧美一区二区三区| 成人黄色片在线观看| 久久久精品视频成人| 国产乱人伦丫前精品视频| 欧洲av无码放荡人妇网站| 国产片一区二区| 国产绿帽刺激高潮对白| 久久久久久久激情视频| 一本色道久久综合亚洲精品酒店 | 久久久精品欧美| 女人抽搐喷水高潮国产精品| jizz欧美激情18| 伊人色综合久久天天人手人婷| 欧洲av在线播放| 国产精品久久久久久久av大片| 亚洲欧美日韩高清在线| 亚洲一区二区三区综合| 欧美日本韩国一区二区三区视频 | 九色视频在线播放| 91免费国产网站| 亚洲永久免费精品| 亚洲女人久久久| 亚洲美女av黄| 久久国产精品免费一区二区三区| jizzjizz国产精品喷水| 国产精品无遮挡| 天堂av在线免费| 成人春色激情网| 亚洲一区二区网站| www欧美com| 在线播放亚洲激情| 红杏成人性视频免费看| 欧美美女一级片| 日韩欧美国产骚| 手机在线免费av|