中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java為Liberty編寫功能測試的方法有哪些

發布時間:2022-02-28 10:30:43 來源:億速云 閱讀:138 作者:iii 欄目:開發技術

這篇“Java為Liberty編寫功能測試的方法有哪些”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Java為Liberty編寫功能測試的方法有哪些”文章吧。

使用 Liberty 進行功能測試的三種方法

使用 IBM WebSphere Liberty 和 Open Liberty 進行功能測試的方法有很多種。本文涵蓋了我認為最適合這些平臺的 3 種方法:

  1. 使用構建腳本/工具來啟動和停止 Liberty 服務器

  2. 使用 JUnit 規則啟動和停止 Liberty 服務器

  3. 使用 Arquillian 啟動和停止 Liberty 服務器

使用 Maven 構建

Liberty 支持最常見的構建工具,例如 Maven、Gradle 和 Ant。你可以使用這些工具中的任何一個來對你的應用程序運行測試,但本文重點介紹 Maven。

使用 Maven 等構建系統構建應用程序的一個好處是,你可以將其配置為運行一組自動化測試。war插件擴展了Java插件,提供了測試任務。你可以為正在運行的應用程序服務器之外的各個代碼單元編寫測試(單元測試),也可以編寫它們來調用在服務器上運行的應用程序(集成測試)。

使用通用構建工具的優勢

使用 Maven、Ant 或 Gradle 等構建工具的一些好處包括:

  • 它使 Java 代碼保持簡單;JUnit 測試類中不需要特殊的設置代碼。

  • 你正在測試的工件是包含配置和構建生成的應用程序 WAR 的用戶目錄,因此它正在密切測試生產工件。

  • 遠程部署工件(例如,在云中)并針對該部署運行測試非常簡單,而無需更改測試代碼。

使用通用構建工具的缺點

使用常見構建工具的一些可能的缺點包括:

  • 對 Maven 插件(或其他構建工具插件)有額外的依賴性。

  • 你只能從構建工具自動運行測試。如果不先手動啟動服務器,就不能從 Eclipse(或其他 IDE)中執行此操作。

使用 JUnit 規則

使用 JUnit ClassRule 允許您使用 Liberty 系統編程接口 (SPI) 從你的代碼中控制你的 Liberty 服務器。從這里,你可以配置服務器,同時還可以啟動和停止服務器。

下面的示例是我們從測試類中以編程方式啟動和停止 Liberty 服務器的示例:

    public class RuleFunctionalTest {

        @ClassRule
        public static ExternalResource serverResource = new ServerResource();


        public static class ServerResource extends ExternalResource {


            private final Server server;


            public ServerResource() {
                String usrDir = System.getProperty("liberty.usr.dir");
                String serverName = System.getProperty("liberty.server.name");
                ServerBuilder sb = new ServerBuilder();
                server = sb.setName(serverName).setUserDir(new File(usrDir)).build();
            }

            @Override
            protected void before() throws Throwable {
                Future<Result> startReturnCode = server.start();
                Result result = startReturnCode.get();
                assertEquals(true, result.successful());
            }

            @Override
            protected void after() {
                Future<Result> stopReturnCode = server.stop();
                try {
                    Result result = stopReturnCode.get();
                    assertEquals(true, result.successful());
                } catch (InterruptedException | ExecutionException e) {
                    e.printStackTrace();
                    fail("Caught exception stopping server" + e.getMessage());
                }
            }
        }
    }

使用 JUnit 規則的優勢

使用 JUnit 規則的一些好處包括:

  • 使用 JUnit 規則可以使構建代碼保持簡單。您只需創建一個新的測試任務和源集的標準 Maven 設置。

  • 你可以使用 IDE 以及通過構建來運行它。

  • 沒有外部依賴。

使用 JUnit 規則的缺點

使用 JUnit 規則的一些缺點包括:

  • 使用此規則會使 Java 代碼復雜化,因為它負責啟動和停止 Liberty 服務器以及運行測試。

  • 部署到不同的位置比較困難,因為這都是通過 Java API 完成的。

  • 你需要構建一個功能齊全的 Liberty 用戶目錄結構,包括你的服務器配置和應用程序。在此示例中,這非常適合這種情況,因為這已經是構建的輸出,但情況并非總是如此。

使用 Arquillian

在 Libery 中進行功能測試的最后一種技術是使用Arquillian,這是一個測試框架,可為你的 Java 應用程序開發自動化的功能、集成和驗收測試。Arquillian 為您設置測試環境并處理應用程序服務器生命周期,以便你可以專注于編寫測試。

使用 Arquillian 進行功能測試的優勢

使用 Arquillian 的一些好處包括:

  • 它允許您使用 ShrinkWrap 通過測試創建和部署測試存檔。在運行測試之前,無需構建功能齊全的 Liberty 服務器。

  • 你可以使用 IDE 以及通過構建運行 Arquillian。

  • Arquillian 是功能最豐富的選項。例如,你可以針對多個容器(應用程序服務器)和遠程服務器運行測試。

  • 將應用程序的正確 URL 傳遞給測試,因此可以更靈活地控制測試環境的端口號等。

使用 Arquillian 進行功能測試的缺點

  • Arquillian 仍然需要定義一個骨架服務器,它必須進入主服務器運行時安裝位置(不支持單獨的用戶目錄)。

  • 你正在測試的應用程序是由 Arquillian 通過 ShrinkWrap 工具創建的。你不會部署此實際應用程序或擁有此服務器配置。

以上就是關于“Java為Liberty編寫功能測試的方法有哪些”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

从化市| 曲麻莱县| 衡东县| 杂多县| 手机| 崇左市| 仁布县| 阿克苏市| 东丰县| 特克斯县| 丹寨县| 呼玛县| 鹤岗市| 合水县| 临朐县| 上蔡县| 梨树县| 兴山县| 革吉县| 新巴尔虎右旗| 青神县| 五大连池市| 本溪| 侯马市| 肥西县| 大方县| 秀山| 榆林市| 康马县| 普安县| 鹤峰县| 安远县| 云梦县| 海林市| 呼伦贝尔市| 晋江市| 南汇区| 博湖县| 苍梧县| 延庆县| 来宾市|