日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

junit5和junit4_JUnit 5 –设置

發布時間:2023/12/3 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 junit5和junit4_JUnit 5 –设置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

junit5和junit4

2015年11月, JUnit Lambda團隊展示了他們的原型 。 此后,該項目更名為JUnit 5,并于2016年2月發布了Alpha版本。我們將在一系列簡短文章中進行探討:

  • 建立
  • 基本
  • 建筑
  • 條件
  • 注射

本節討論JUnit 5的設置,以便您可以針對新API編寫代碼并在IDE或構建工具中運行測試。

總覽

在新興的《 JUnit 5用戶指南》中可以找到您將在此處閱讀的更多內容以及更多內容。 請注意,它基于Alpha版本,因此可能會發生變化。

確實,我們鼓勵我們提出問題或提出請求,以便JUnit 5可以進一步改進。 請利用這個機會! 這是幫助JUnit幫助我們的機會。

如有必要,此帖子將得到更新。 我在這里顯示的代碼示例可以在Github上找到。

寫作測試

junit5-api工件中包含用于編寫測試的API。 編寫測試只需要使用您喜歡的構建工具將其包含在項目中即可。

  • 群組ID :org.junit5
  • 工件ID :junit5-api
  • 版本 :5.0.0-ALPHA

要處理一些事情,讓我們快速創建第一個測試 :

HelloWorldTest.java

package org.codefx.demo.junit5;import org.junit.gen5.api.Test;class HelloWorldTest {@Testvoid helloJUnit5() {System.out.println("Hello, JUnit 5.");}}

見媽,不公開! 酷吧? 我現在不會討論它,但是下一篇文章將討論這個(以及其他基礎知識),所以請繼續關注。

運行測試

隨著JUnit 5的不斷發展,缺乏對本機工具的支持。 但是有一些準備工作可以使一切正常運行。

JUnit 4運行器

甲測試運行稱為JUnit5可以用來作為JUnit 4運行的一部分來運行新的測試。 您將在其自己的工件中找到它,您必須將其添加到項目中:

  • 群組ID :org.junit5
  • 工件ID :junit4-runner
  • 版本 :5.0.0-ALPHA

運行程序將調用實際運行JUnit 5測試的引擎。 引擎還具有自己的工件,您必須添加以下工件:

  • 群組ID :org.junit5
  • 工件ID :junit5-engine
  • 版本 :5.0.0-ALPHA

要運行項目中的所有測試,最簡單的為它們創建測試套件的方法是:

package org.codefx.demo.junit5;import org.junit.gen5.junit4.runner.JUnit5; import org.junit.gen5.junit4.runner.Packages; import org.junit.runner.RunWith;@RunWith(JUnit5.class) @Packages({ "org.codefx.demo.junit5" }) public class TestWithJUnit5 { }

注意,該類必須是常規的JUnit 4測試類,即,它必須遵守通用的命名約定,并且必須是公共的。 @ Packages-annotation將包解釋為層次結構,因此它將在所有以org.codefx.demo.junit5為前綴的包中運行所有測試。 如果愿意,可以直接在JUnit 5測試類上使用相同的運行器。 在這種情況下,它們必須是公開的。

現在我們完成了! 您最喜歡的IDE和構建工具將愉快地運行帶有@RunWith(JUnit5.class)注釋的類,從而運行新的JUnit 5測試。

在真正的JUnit 5支持出現之前,某些功能可能無法使用,例如,IDE將無法運行單獨的測試方法。 但是暫時我發現這是最簡單,最獨立于工具的解決方案。

生成工具支持

JUnit團隊已經在努力實現對JUnit 5的構建工具支持,即不通過JUnit 4繞道而行。基本的Gradle插件和Maven Surefire提供程序已啟動并正在運行。 計劃將這兩個項目在某個時候移交給各自的社區。

兩者都有示例項目( Gradle和Maven )。 有關更多詳細信息,請參閱用戶指南 。

命令行的勝利!

如果這一切對您來說太花哨了,請嘗試console console ,它可以讓您直接從命令行運行測試。 要獲取它,您可以下載此ZIP 。

不幸的是它不能開箱即用 。 我不得不將上述的junit5-api和junit5-engine工件放到lib中,然后在bin中的腳本中將類路徑定義編輯為CLASSPATH = $ APP_HOME / lib / *,以使其工作。

忽略其他依賴項(例如,在其他測試庫上),可以按以下方式使用它:

使用junit控制臺

# run all tests junit-console -p ${path_to_compiled_test_classes} -a # run a specific test junit-console-p ${path_to_compiled_test_classes}org.codefx.demo.junit5.HelloWorldTest

發布時間由托馬斯LETH -奧爾森在CC-BY-SA 2.0

兼容性

您可能已經注意到,JUnit 5占用了一個新的名稱空間:org.junit.gen5。 這意味著在同一項目中使用不同的JUnit版本時不會有沖突。

實際上,一個項目可以包含并運行來自不同版本的測試而不會出現問題,這允許緩慢遷移到JUnit5。我們在研究JUnit的新體系結構時將重新討論該主題。

通過異常與JUnit通信的測試庫,例如Hamcrest和AssertJ,將繼續在新版本中工作。 查看完整版本的HelloWorldTest ,以獲取使用Mockito和AssertJ的示例。

反射

對于我們的JUnit 5設置,我們在項目中包括了junit5-api,junit5-engine和junit4-runner,編寫了第一個最小測試用例,并將其作為JUnit 4測試套件的一部分運行。

下一篇文章將探討如何在JUnit 5中編寫測試的基礎知識。

翻譯自: https://www.javacodegeeks.com/2016/02/junit-5-setup.html

junit5和junit4

總結

以上是生活随笔為你收集整理的junit5和junit4_JUnit 5 –设置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。