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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

JUnit 5 –设置

發(fā)布時(shí)間:2023/12/3 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JUnit 5 –设置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2015年11月, JUnit Lambda團(tuán)隊(duì)展示了他們的原型 。 此后,該項(xiàng)目更名為JUnit 5,并于2016年2月發(fā)布了Alpha版本。我們將在一系列簡(jiǎn)短文章中對(duì)其進(jìn)行探討:

  • 設(shè)定
  • 基本
  • 建筑
  • 條件
  • 注射

本章討論JUnit 5的設(shè)置,以便您可以針對(duì)新API編寫代碼并在IDE或構(gòu)建工具中運(yùn)行測(cè)試。

總覽

在新興的《 JUnit 5用戶指南》中可以找到您將在此處閱讀的更多內(nèi)容以及更多內(nèi)容。 請(qǐng)注意,它基于Alpha版本,因此可能會(huì)發(fā)生變化。

確實(shí),我們鼓勵(lì)我們提出問題或提出請(qǐng)求,以便JUnit 5可以進(jìn)一步改進(jìn)。 請(qǐng)利用這個(gè)機(jī)會(huì)! 這是幫助JUnit幫助我們的機(jī)會(huì)。

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

寫作測(cè)試

junit5-api構(gòu)件中包含用于編寫測(cè)試的API。 編寫測(cè)試只需要使用您喜歡的構(gòu)建工具將其包含在項(xiàng)目中即可。

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

要處理一些事情,讓我們快速創(chuàng)建第一個(gè)測(cè)試 :

HelloWorldTest.java

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

見媽,不公開! 酷吧? 我目前不會(huì)討論它,但是下一篇文章將討論這個(gè)(以及其他基礎(chǔ)知識(shí)),所以請(qǐng)繼續(xù)關(guān)注。

運(yùn)行測(cè)試

隨著JUnit 5的不斷發(fā)展,缺乏對(duì)本機(jī)工具的支持。 但是有一些準(zhǔn)備工作可以使一切正常運(yùn)行。

JUnit 4運(yùn)行器

甲測(cè)試運(yùn)行稱為JUnit5可以用來(lái)作為JUnit 4運(yùn)行的一部分來(lái)運(yùn)行新的測(cè)試。 您將在自己的工件中找到它,必須將其添加到項(xiàng)目中:

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

運(yùn)行程序?qū)⒄{(diào)用實(shí)際運(yùn)行JUnit 5測(cè)試的引擎。 引擎還具有自己的工件,您必須添加以下工件:

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

要運(yùn)行項(xiàng)目中的所有測(cè)試,最簡(jiǎn)單的為其創(chuàng)建測(cè)試套件的方法是:

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 { }

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

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

在真正的JUnit 5支持出現(xiàn)之前,某些功能可能無(wú)法使用,例如,IDE將無(wú)法運(yùn)行單獨(dú)的測(cè)試方法。 但是暫時(shí)我發(fā)現(xiàn)這是最簡(jiǎn)單,最不依賴工具的解決方案。

生成工具支持

JUnit團(tuán)隊(duì)已經(jīng)在努力實(shí)現(xiàn)對(duì)JUnit 5的構(gòu)建工具支持,即不通過(guò)JUnit 4繞道而行?;镜腉radle插件和Maven Surefire提供程序已啟動(dòng)并正在運(yùn)行。 這兩個(gè)項(xiàng)目都計(jì)劃在某個(gè)時(shí)候移交給各自的社區(qū)。

兩者都有示例項(xiàng)目( Gradle和Maven )。 有關(guān)更多詳細(xì)信息,請(qǐng)參閱用戶指南 。

命令行的勝利!

如果這一切對(duì)您來(lái)說(shuō)太花哨了,請(qǐng)嘗試console console ,它可以讓您直接從命令行運(yùn)行測(cè)試。 要獲取它,您可以下載此ZIP 。

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

忽略其他依賴項(xiàng)(例如,在其他測(cè)試庫(kù)上),可以按以下方式使用它:

使用junit控制臺(tái)

# 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

發(fā)布時(shí)間由托馬斯LETH -奧爾森在CC-BY-SA 2.0

兼容性

您可能已經(jīng)注意到,JUnit 5占用了一個(gè)新的名稱空間:org.junit.gen5。 這意味著當(dāng)在同一項(xiàng)目中使用不同的JUnit版本時(shí),不會(huì)有沖突。

實(shí)際上,一個(gè)項(xiàng)目可以包含并運(yùn)行來(lái)自不同版本的測(cè)試而不會(huì)出現(xiàn)問題,這允許緩慢遷移到JUnit5。我們?cè)谘芯縅Unit的新體系結(jié)構(gòu)時(shí)將重新討論該主題。

通過(guò)異常與JUnit通信的測(cè)試庫(kù)(如Hamcrest和AssertJ)將繼續(xù)在新版本中工作。 使用Mockito和AssertJ查看完整的HelloWorldTest版本示例。

反射

對(duì)于我們的JUnit 5設(shè)置,我們?cè)陧?xiàng)目中包括了junit5-api,junit5-engine和junit4-runner,編寫了第一個(gè)最小測(cè)試用例,并將其作為JUnit 4測(cè)試套件的一部分運(yùn)行。

下一篇文章將探討如何在JUnit 5中編寫測(cè)試的基礎(chǔ)知識(shí)。

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

總結(jié)

以上是生活随笔為你收集整理的JUnit 5 –设置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。