一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 快速上手Java單元測試框架JUnit5

快速上手Java單元測試框架JUnit5

2021-09-17 10:18自動化代碼美學 Java教程

今天給大家帶來的是關于Java單元測試的相關知識,文章圍繞著Java單元測試框架JUnit5展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下

為什么學JUnit5

Java技術棧的單元測試框架有兩個:JUnit和TestNG,有種說法是TestNG比JUnit更強大,學TestNG就夠了,但是當我打開GitHub看到star的時候,猶豫了:

JUnit

快速上手Java單元測試框架JUnit5

TestNG

快速上手Java單元測試框架JUnit5

相差了足足有3K之多。帶著這個困惑,我在網上查閱了一番資料,原來JUnit5相較于JUnit4有了重大升級,已經包含了TestNG的所有功能。為了堅定我學JUnit的想法,我咨詢了身邊做Java開發的朋友,開發寫UT都是用的JUnit。這兩個理由足以讓我開始對JUnit5的學習。

JUnit5是什么

跟之前的JUnit有所不同,JUnit5由三個子項目的模塊組成:

JUnit5 = JUnit Platform + JUnit Jupiter + JUnit Vintage

  • JUnit Platform 在JVM上啟動測試框架的基礎,不僅支持Junit自制的測試引擎,其他測試引擎也都可以接入。提供了從命令行啟動平臺的Console Launcher,和支持JUnit4環境的JUnit4 based Runner。IDE一般都集成了JUnit Platform,比如IntelliJ IDEA。
  • JUnit Jupiter JUnit5新特性,結合了新的programming model和extension model,以便于在JUnit5中編寫測試和擴展。提供了在平臺上運行基于Jupiter測試的TestEngine。
  • JUnit Vintage 提供了在平臺上運行基于JUnit3和JUnit4測試的TestEngine,照顧老的項目。

JUnit5新特性

使用JUnit Jupiter寫測試

示例代碼:

  1. import static org.junit.jupiter.api.Assertions.assertEquals;
  2.  
  3. import example.util.Calculator;
  4.  
  5. import org.junit.jupiter.api.Test;
  6.  
  7. class MyFirstJUnitJupiterTests {
  8.  
  9. private final Calculator calculator = new Calculator();
  10.  
  11. @Test
  12. void addition() {
  13. assertEquals(2, calculator.add(1, 1));
  14. }
  15.  
  16. }

注意這個導包的路徑org.junit.jupiter.api,Jupiter就是JUnit5的新特性。

兼容JUnit4和JUnit3

JUnit Vintage提供了在平臺上運行基于JUnit3和JUnit4測試的TestEngine, 并且新的包org.junit.jupiter避免了和JUnit4的org.junit在classpath上有任何沖突。

多IDE運行

JUnit能在IntelliJ IDEA、Eclipse、NetBeans、Visual Studio Code等IDE中運行。

從JUnit Jupiter擴展Model

示例:

  1. @ExtendWith(RandomParametersExtension.class)
  2. @Test
  3. void test(@Random int i) {
  4. // ...
  5. }

給test方法注冊了一個新的RandomParametersExtension。

更多高級用法

JUnit5提供了更多高級用法,比如JUnit Platform Launcher API和JUnit Platform Test Kit等,這些會在之后的文章逐一進行介紹。

小結

本文首先解釋了為什么要學JUnit5,一是因為全新一代JUnit功能更加強大,二是Java開發寫單元測試都是用的JUnit,然后介紹了JUnit5是什么以及它的新特性。學習JUnit,在單元測試這條路上,又往前邁了一步。

參考資料:

https://junit.org/junit5/docs/current/user-guide/

到此這篇關于快速上手Java單元測試框架JUnit5的文章就介紹到這了,更多相關Java單元測試框架JUnit5內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/df888/p/14940468.html

延伸 · 閱讀

精彩推薦
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7472021-02-04
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
主站蜘蛛池模板: 奇米影视777最新在线 | 欧美va天堂va视频va在线 | 精品性影院一区二区三区内射 | 91精品国产高清久久久久久 | 日韩操片 | 免费看隐私美女 | 高清一区| 日本一区二区三区国产 | 大陆男同志gayxxx | chinese军人@gay| 东北恋哥在线播放免费播放 | 日韩永久在线观看免费视频 | 欧美精品v日韩精品v国产精品 | 我与么公激情性完整视频 | 美日韩一区二区三区 | 日本人欧美xx | 亚洲香蕉伊在人在线观婷婷 | 免费国产之a视频 | caoporen97免费公开视频 | 男女姓交大视频免费观看 | 美女把小内内脱个精光打屁屁 | 丰腴尤物贵妇浪荡小说 | 免费一级夫妻a | 网站视频免费 | 色漫在线观看 | 人体欣赏孕妇季玥图片 | www在线视频在线播放 | 国产精品亚洲综合久久 | 国产日韩在线 | 免费观看毛片视频 | 四虎影院在线免费观看视频 | 美女用手扒自己下部 | 久久91精品国产91久久户 | 免费国产高清精品一区在线 | seetube18日本第一次 | 国产91对白在线观看 | 国产精品一区二区在线观看完整版 | 男女一级特黄a大片 | 日本加勒比无码av | 法国女佣系列在线播放 | 40岁女人三级全黄 |