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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

使用Forge,WildFly Swarm和Arquillian开发微服务

發(fā)布時間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Forge,WildFly Swarm和Arquillian开发微服务 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在本文中,我們將看到如何使用WildFly Swarm和Forge開發(fā)微服務(wù),以及如何使用Arquillian和Rest Assured對其進(jìn)行測試。
WildFly Swarm提供了一種創(chuàng)新的方法來打包和運行Java EE應(yīng)用程序,方法是將它們與足夠的服務(wù)器運行時一起打包以“ java -jar”您的應(yīng)用程序。

JBoss Forge是一個軟件開發(fā)工具,可擴(kuò)展您的Java IDE,并提供用于不同技術(shù)和解決方案的向?qū)Ш蛿U(kuò)展(附加組件)。

Arquillian是一個簡化Java中間件集成測試的平臺。 它處理了容器管理,部署和框架初始化的所有工作,因此您可以專注于編寫測試(實際測試)的任務(wù)。

REST Assured將動態(tài)語言(例如Ruby和Groovy)中的REST服務(wù)的測試和驗證的簡便性帶入了Java域。

http://downloads.jboss.org/forge/releases/3.4.0.Final/forge-distribution-3.4.0.Final-offline.zip或?qū)Ш街羑ttp://forge.jboss.org/download并下載Eclipse,Netbeans或IntelliJ的插件。 對于此示例,我將使用CLI之一。
安裝Forge并在PATH環(huán)境變量中提供它之后,就可以開始使用它了。

首先,轉(zhuǎn)到要存儲項目的目錄并運行forge。 幾秒鐘后,您將看到Forge已啟動,并且可以鍵入命令了:


之后,您需要安裝wildfly-swarm插件 。 為此,只需在Forge shell上鍵入next命令:

> addon-install-from-git --url https://github.com/forge/wildfly-swarm-addon

然后將下載并安裝最新的插件。 完成此設(shè)置步驟后,您可以通過調(diào)用以下命令開始創(chuàng)建微服務(wù):

> project-new --top-level-package org.superbiz --named foo --type wildfly-swarm

此命令創(chuàng)建一個名為foo的新項目,其中準(zhǔn)備了滿足所有wildfly swarm要求的pom.xml 。 下一步是添加野生群片段。 片段是一種定義您希望在運行時能夠使用的模塊的方法。

> wildfly-swarm-add-fraction --fractions microprofile

在這種情況下,添加微輪廓部分。 這意味著在運行時CDI + JSON-P + JAXRS將可用.Addon還創(chuàng)建了一個JAX-RS端點作為示例,您可以通過運行以下兩個命令來檢查它:

> cd src/main/java/org/superbiz/rest/HelloWorldEndpoint.java > ls

然后返回項目的根目錄,讓我們調(diào)用為微服務(wù)創(chuàng)建Arquilian測試的命令

> wildfly-swarm-new-test --target-package org.superbiz --named HelloWorldEndpointTest --as-client

在這種情況下,該測試稱為HelloWorldEndpointTest,并且測試將以Arquillian as-client模式運行(這意味著該測試未部署在容器內(nèi),將在本地運行時運行)。 您可以使用以下兩個命令檢查生成的代碼:

> cd src/test/java/org/superbiz > cat HelloWorldEndpointTest.java

請注意,該測試尚未驗證任何內(nèi)容,但是由于我們使用的是as-client模式,因此該測試會在啟動應(yīng)用程序的位置注入URL。 讓我們使用REST-assured添加一些檢查。返回項目的根目錄并通過調(diào)用next命令添加REST-assured依賴項:

> project-add-dependencies io.rest-assured:rest-assured:3.0.1:test > cat pom.xml

最后,您可以在空測試中使用REST保證的方法來驗證您的微服務(wù)端點是否有效地返回“來自WildFly Swam的問候!”。 。

package org.superbiz;import io.restassured.builder.RequestSpecBuilder; import org.jboss.arquillian.junit.Arquillian; import org.jboss.arquillian.test.api.ArquillianResource; import org.junit.Test; import org.junit.runner.RunWith; import org.wildfly.swarm.arquillian.DefaultDeployment;import java.net.URISyntaxException; import java.net.URL;import static io.restassured.RestAssured.given; import static org.hamcrest.CoreMatchers.is;@RunWith(Arquillian.class) @DefaultDeployment(testable = false, type = DefaultDeployment.Type.WAR) public class HelloWorldEndpointTest {@ArquillianResourceprivate URL url;@Testpublic void should_start_service() throws URISyntaxException {RequestSpecBuilder requestSpecBuilder = new RequestSpecBuilder();requestSpecBuilder.setBaseUri(url.toURI());given(requestSpecBuilder.build()).when().get("hello").then().assertThat().body(is("Hello from WildFly Swarm!"));} }

當(dāng)您運行此測試時,幕后發(fā)生的事情是微服務(wù)在本地打包和部署。 當(dāng)服務(wù)準(zhǔn)備好接收傳入的請求時,測試將向/ hello發(fā)送GET請求,并斷言響應(yīng)正文為“來自WildFly Swam的Hello!”。
您可以在https://youtu.be/9xb6GIZ1gjs看到運行
這是一個非常簡單的示例,而這正是本文的目的。 只需向您展示如何使用Forge并運行一些命令,即可啟動一個已開始運行其集成測試的項目。

翻譯自: https://www.javacodegeeks.com/2017/01/develop-microservice-forge-wildfly-swarm-arquillian.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的使用Forge,WildFly Swarm和Arquillian开发微服务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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