更多課程 選擇中心
        Java培訓

        400-111-8989

        Java培訓 > Java教程  > 正文

        JAVA 程序員常用測試框架分享

        • 發布:達內編輯
        • 來源:達內java培訓機構
        • 時間:2018-06-11 17:52

        今天給打家分享一下JAVA 程序員常用測試框架,一個優秀的程序員,必須很好地利用手頭上的工具,除此之外還要在業余時間學習和探索新的工具和庫,不斷提升拓展的自己的專業能力。那么JAVA 程序員常用測試框架有什么呢?

        java程序測試框架

        作為 Java 程序員,我們在截然不同的領域工作,從編寫 Java 核心代碼到 JSP 頁面,REST API,甚至有時為了構建自動化而去編寫 Groovy 腳本,這就要求我們必需了解不同的自動化測試工具。

        舉一個例子,很長一段時間內,我只了解 JUnit,但當不得不測試 JSP 頁面時,我卻束手無策,直到我找到了 Selenium。REST Assured 是另一個類似的例子,我通常使用 curl 命令測試 REST API,但 REST Assured 將 REST API 的單元測試水平提升到了另一個層次。

        Java 程序員需要用到十大單元測試和自動化集成測試工具

        我認為一個優秀的程序員,必然能夠很好地利用手頭上的工具,因此我總在業余時間學習和探索新的工具和庫,以下列表是我部分研究成果。

        在這篇文章中,我將分享 10 個最為優秀且必不可少的工具,框架和庫,這些可以幫助 java 程序員在各類 java 項目中編寫單元測試和集成測試。

        JUnit

        JUnit 無須贅述,即便是初級Java程序員,可能也已經聽說過它,你可以使用它編寫 Java 代碼的單元測試。

        幾乎所有主流 IDE,例如 Eclipse,NetBeans 和 IntelliJ,都集成了 JUnit,可以直接在這些IDE中編寫和運行單元測試。

        大多數人仍在使用 JUnit 4,即使 JUnit 5 已經發布,它很可能是今年下一個熱點。通過 JUnit 5,可以將 JUnit 同時應用于單元測試和集成測試,并且它還支持 Java 8 的特性。

        REST Assured

        用 Java 語言測試和驗證 REST 服務,要難于 Groovy 這類動態語言。

        REST Assured 將這類語言的易用性帶入了 Java 領域,是一個優秀的 REST API 的集成測試工具。

        Selenium

        Selenium 很可能是最流行的 Java UI 測試工具了,它可以讓你在不必啟動瀏覽器的情況下測試 JSP 頁面。

        你可以使用 JUnit 和 Selenium 來測試 Web 程序的界面,它甚至允許你編寫 Web 應用程序的驗收測試。

        TestNG

        TestNG 是一個測試框架,其靈感來自 JUnit 和 NUnit,但同時引入了一些新的功能,使其功能更強大,使用更方便。例如可以使用注解,在任意大的線程池中,配置各種可用策略進行測試(例如所有方法都在自己的線程中,每一個測試類使用一個線程等)。

        因為 TestNG 使用 JUnit 4 的注解,同時又集成了 HAMCSTREST 匹配器,它與 JUnit 的差異已經減小了,但兩者如何選擇,這取決于你。

        Mockito

        Java 類有許多 Mock 框架,例如 PowerMock 和 JMock,但我個人偏向于 Mockito,因為它有簡單的 API,優秀的文檔以及大量的示例。

        Mocking 是現代單元測試的一項關鍵技術,因為它允許你在沒有任何依賴的情況下獨立測試代碼,這就是為什么我鼓勵每個 Java 程序員在學習 JUnit 的同時,一起學習 Mocking 框架的原因。

        我最喜歡的 mocking 框架是 Mockito,但如果你愿意,也可以研究下 PowerMock 或 JMock。

        Spock框架

        Spock 是另一個測試和規范框架,用于 Java 和 Groovy 應用程序。由于使用 Groovy 編寫,Spock 成為一種兼具豐富表現力且簡明扼要的規范語言。

        當你使用 Spock 時,你的測試將變得更容易閱讀和維護,這得益于它采用的 JUnit 運行器,Spock 兼容大部分 IDE,構建工具和持續集成服務器。

        可惜我沒有找到有助于學習 Spock 框架的課程,但閱讀《Java Testing with Spock》這本書是很好的開始。

        Cucumber

        Cucumber 是另一個重要的自動化集成測試工具,但與其它同類別的工具不同的是它能夠針對規格文檔進行自動化測試。

        Cucumber 將規格文檔和測試文檔合成整個動態文檔,同時 Cucumber 自動測試這個文檔,使測試規范始終保持在最新版本。

        Spring Test

        Spring MVC 自帶一個很有用的測試框架,它可以在不引入 Web 容器的情況下進行深入測試。

        Spring Test 是為 Spring 程序編寫自動化測試的最有用的庫之一。為了給 Spring 驅動的應用程序(包括 MVC 控制器在內),編寫單元測試和集成測試,Spring Test 提供了一流的支持。

        另外,Spring Test DbUnit 集成了 Spring Test 框架與 DbUnit;Spring Test MVC HtmlUnit 集成了Spring Test MVC 框架和 HtmlUnit。

        通過使用這些工具,你可以輕松地自動測試 Spring MVC 應用程序。

        DBUnit

        數據庫是許多 Java 應用程序,包括核心 Java 和 Web 應用程序中不可或缺的部分,也有可能是單元測試的最大障礙。

        在進行集成測試時,連接開發環境或用戶驗收測試的數據庫并不可靠,因為任何人都可以更改數據模式和數據本身,例如表和存儲過程等,這會導致自動化集成測試失敗。

        DbUnit 是一個 JUnit 擴展,每次集成測試前,將數據庫初始化成已知狀態,確保數據庫存儲正確的數據。

        DbUnit 自身還存在著一些問題,但它是一個非常有用的工具,因為它可以幫助我們分離測試數據與測試代碼。

        Robot 框架

        Robot 框架是一個基于 Python 的通用測試自動化框架,用于驗收測試和驗收測試驅動開發。

        它是一個由關鍵字驅動的,使用表格測試數據語法的測試框架,可以用來測試那些涉及多種技術和接口的分布式異構應用。

        如果你打算學習這個優秀的集成測試框架,那么你可以從 Udemy 上的《Robot 框架測試自動化》的課程開始,這是一個很好的學習資源。

        該課程涵蓋了兩部分內容,Robot 框架基礎和高級特性。

        以上就關于"JAVA 程序員常用測試框架分享"希望對大家有所幫助,更多精彩內容請關注JAVA培訓機構官網。

        預約申請免費試聽課

        填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

        上一篇:分布式之消息隊列復習精講
        下一篇:Java 10 的 12 項關鍵新特性
        • 掃碼領取資料

          回復關鍵字:視頻資料

          免費領取 達內課程視頻學習資料

        • 視頻學習QQ群

          添加QQ群:1143617948

          免費領取達內課程視頻學習資料

        Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

        選擇城市和中心
        貴州省

        福建省

        • 達內廈門軟件園中心
        廣西省

        海南省

        国产高清情侣视频2019年,限制电影福利在线观看,23伊人大香蕉 百度 好搜 搜狗
        <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>