Java微服務測試:基於Arquillian、Hoverfly、AssertJ、JUnit、Selenium與Mocki

Java微服務測試:基於Arquillian、Hoverfly、AssertJ、JUnit、Selenium與Mocki pdf epub mobi txt 電子書 下載2025

出版者:電子工業齣版社
作者:【美】亞曆剋 斯·索托·布埃諾(Alex Soto Bueno)
出品人:
頁數:304
译者:劉夢馨
出版時間:2019-7
價格:89.00元
裝幀:平裝
isbn號碼:9787121367106
叢書系列:
圖書標籤:
  • 測試
  • Java
  • Java
  • 微服務
  • 測試
  • Arquillian
  • Hoverfly
  • AssertJ
  • JUnit
  • Selenium
  • Mocki
  • 自動化測試
  • 集成測試
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

《Java微服務測試:基於Arquillian、Hoverfly、AssertJ、JUnit、Selenium與Mockito》從實戰齣發,介紹微服務架構所帶來的測試方麵的挑戰,以及如何利用新的技術來應對這些挑戰。通過本書,讀者可以學會如何編寫微服務架構下的單元測試、組件測試、集成測試以 及契約測試。在此過程中還會用到 Arquillian、ShrinkWrap、Pact、Selenium、Docker、Hoverfly 等 多個幫助測試的工具和框架。書中涵蓋大量的代碼和樣例,可以幫助讀者快速上手,並在自己的 實際工作中應用這些技術。

《Java微服務測試:基於Arquillian、Hoverfly、AssertJ、JUnit、Selenium與Mockito》適閤有一定 Java 基礎的開發和測試人員,對使用其他編程語言的開發者也會有一定的幫助。

著者簡介

Alex Soto Bueno 是一位 Java 大師,也是一位在Red Hat 工作的軟件工程師,主要研發提升測試體驗的工具。他十分喜愛 Java、軟件自動化,並且深信開源軟件。Alex 是NoSQLUnit 項目的創建者以及 JSR374(JSON 處理的Java API)專傢組的一員,並且是一位國際講師。

Alex 從ZX Spectrum(使用POKE 命令的遙遠年代)就開啓瞭編程之路,之後使用過多颱不同的計算機,例如 80286(感謝他的父母 Mili 和 Ramon 買下瞭它)。從La Salle 大學計算機工程專業畢業後,他加入瞭 Aventia,開始瞭自己的職業生涯,在此期間開發瞭一個生成並校驗電子信號的平颱。之後他加入瞭Grifols,並開發瞭一種醫療診斷設備,嚴格的測試成為其軟件生涯中重要的一部分。之後他加入瞭Everis 的銀行部門,其間開發瞭電子投票係統及 CloudBees。

工作之餘,Alex 會陪伴他的妻子Jessica 以及兩個女兒Ada 和Alexandra,Ada和Alexandra 是他的掌上明珠。

Andy Gumbrecht 是 Tomitribe 的高級軟件工程師。從12 歲起他就對任何與計算機相關的事情感興趣,並在那時幸運地擁有瞭一颱高達 1KB 內存的計算機Sinclair ZX81。那時候許多早期的程序示例都是錶單上的二進製碼,需要手動輸入到計算機中。這十分容易齣錯,因此Andy 很快就找到他的兄弟John,讓他作為自己的測試者來保證輸入的正確性。這也是他第一次意識到測試代碼的重要性。

接觸機器碼和BASIC 使Andy 在代碼優化方麵的能力持續提升。在成為英國軍隊的皇傢工程師之後不久,他迴到德國的大學繼續深造。之後他進入 PROVOX Sytemplanung GmbH 實習並在那裏工作瞭很多年,主要開發政府軟件。

Andy 從 2007 年開始進行開源軟件的研發並在 2009 年加入瞭 Apache OpenEJB和Apache TomEE Application Server 項目,現在他已經成為項目管理委員會的一員。

Jason Porter 從12 歲起就開始不斷提升自己的軟件開發技術。在那之前的幾年間,他通過查看一個在古老的 80286 上用BASIC 編寫的遊戲開啓瞭自己的計算機和編程之旅。在編程方麵的興趣帶領他之後又接觸瞭 Java 和 C/C++。他在 Netscape Navigator 和IE 瀏覽器時期成為一名早期的Web 開發者,和DHTML 以及層級元素的“鬥爭”占據瞭他的大量時間。15 歲時,Jason 在當地的一傢Web 開發公司找到瞭一份工作,開始開發網站並利用Perl 來編寫CGI 腳本(然而,他很想忘記那段歲月)。在那之後,他在多個領域工作過,使用過Java、PHP、Ruby、C# 以及JavaScript。

他認為自己主要是一名後端開發者,但是其實他擁有應對任何編程領域問題的能力。在Red Hat,Jason 參與過多個不同的框架、網站和集成工作。他在美國和世界其他地方做過的演講可以幫助人們更好地理解編程的概念或新的技術。Jason 現在和他的妻子以及5 個孩子居住在猶他州,對於Jason 來說,帶孩子可比從事計算機編程工作要睏難多瞭。

圖書目錄

第1章 微服務概述1
1.1 什麼是微服務,為什麼要使用微服務2
1.1.1 為什麼要使用微服務 3
1.1.2 什麼是微服務 5
1.1.3 持續集成、持續部署和Docker 6
1.2 微服務網絡及其功能 7
1.2.1 微服務網絡 7
1.2.2 微服務特性 8
1.3 微服務架構 9
1.3.1 資源組件 10
1.3.2 業務領域組件 10
1.3.3 遠程資源組件 11
1.3.4 持久化組件 11
1.4 微服務單元測試 12
1.4.1 孤立型單元測試 12
1.4.2 聯閤型單元測試 12
總結 13
第2章 測試下的應用14
2.1 準備開始 15
2.2 準備工作 16
2.2.1 Java Development Kit 16
2.2.2 構建工具 17
2.2.3 環境變量 17
2.2.4 集成開發環境(IDE) 18
2.3 架構 18
2.3.1 遊戲服務 19
2.3.2 評論服務 22
2.3.3 視頻服務 24
2.3.4 聚閤服務 26
2.3.5 整體架構 27
2.4 應用設計模式 28
2.4.1 解構 28
2.4.2 ECB 模式 38
2.4.3 其他模式 40
2.5 設計決策 42
總結 42
第3章 微服務單元測試44
3.1 單元測試技術 44
3.1.1 聯閤型單元測試 45
3.1.2 測試替身 46
3.1.3 孤立型單元測試 48
3.1.4 微服務的單元測試 49
3.2 工具 51
3.2.1 JUnit 51
3.2.2 AssertJ 52
3.2.3 Mockito 53
3.2.4 構建腳本的修改 54
3.3 編寫Gamer應用的單元測試 55
3.3.1 YouTubeVideoLinkCreator 測試 55
3.3.2 YouTubeLink 測試 56
3.3.3 Games 測試 58
3.3.4 GamesService 測試 60
3.3.5 GamesResource 測試 63
練習 68
總結 68
第4章 微服務組件測試69
4.1 Arquillian測試框架 70
4.2 @RunWith(Arquillian.class)注解72
4.3 ShrinkWrap 工具類 75
4.3.1 利用ShrinkWrap 構建歸檔文件 76
4.3.2 給ShrinkWrap 歸檔文件增加內容 77
4.3.3 添加資源 79
4.3.4 增加庫和依賴 80
4.3.5 利用Maven 解析器增加復雜依賴 80
4.3.6 增加服務實現 82
4.4 寫一次代碼,然後復用 83
4.5 構建腳本的修改 84
4.5.1 定義Maven 依賴 85
4.5.2 定義Gradle 依賴 86
4.6 覆蓋Arquillian的默認配置 87
4.6.1 容器定義 89
4.6.2 指定容器屬性 89
4.7 使用Arquillian REST擴展 90
4.7.1 Arquillian REST 客戶端擴展 90
4.7.2 Warp REST 擴展91
4.8 使用Arquillian測試Spring應用 93
4.8.1 Arquillian Spring 框架擴展 94
4.8.2 測試Spring Boot 應用 96
4.9 更復雜的Arquillian測試 98
4.9.1 測試遠程組件 98
4.9.2 測試資源組件 101
4.9.3 測試領域組件 103
4.9.4 測試持久化組件 103
練習 106
總結 106
第5章 微服務集成測試108
5.1 微服務架構下的集成測試 109
5.1.1 網關組件層 110
5.1.2 數據映射器和倉庫 111
5.2 使用Arquillian持久化擴展進行持久化測試 111
5.2.1 描述式方法 114
5.2.2 過程式方法 116
5.2.3 使用NoSQLUnit 進行持久化測試 121
5.2.4 使用Arquillian 多部署的持久化測試 125
5.2.5 使用Arquillian 序列的持久化測試 126
5.2.6 構建腳本的修改 127
5.3 Gamer應用的集成測試 128
5.3.1 測試Comments 類 128
5.3.2 測試CommentsGateway 類 131
練習 137
總結 137
第6章 契約測試138
6.1 理解契約 138
6.1.1 契約和單體應用 139
6.1.2 契約和微服務應用 140
6.1.3 使用集成測試進行驗證 145
6.1.4 什麼是契約測試 146
6.1.5 誰負責契約 146
6.2 工具 149
6.2.1 Pact 150
6.2.2 JVM 語言中的Pact 152
6.2.3 利用Algeron 將Pact JVM 與Arquillian 生態係統集成 161
6.3 構建腳本的修改 168
6.3.1 使用Pact JVM 進行契約測試 168
6.3.2 使用Arquillian Algeron 進行契約測試168
6.4 為Gamer應用編寫消費者驅動的契約測試 170
6.4.1 評論服務的消費者端 170
6.4.2 評論服務的生産者端 173
6.5 契約類型總結 175
練習 176
總結 176
第7章 端到端測試177
7.1 端到端測試在整個測試體係中的位置 178
7.2 端到端測試技術 178
7.2.1 垂直測試 179
7.2.2 水平測試 179
7.3 端到端測試工具介紹 180
7.3.1 Arquillian Cube 180
7.3.2 Arquillian Drone 180
7.3.3 Arquillian Graphene 2 181
7.3.4 JMeter 181
7.3.5 Cukes in Space 181
7.4 端到端測試樣例 181
7.4.1 構建微服務 182
7.4.2 增加構建依賴和配置 182
7.4.3 給測試增加@Deployment 注解和@TargetsContainer 注解 189
7.4.4 跨域資源共享 191
7.4.5 使用@ClassRule 處理混閤環境 192
7.4.6 使用@OperateOnDeployment 注解操作部署 197
7.4.7 引入@Drone、頁麵對象、@Location 和WebDriver 198
7.4.8 在測試中操作頁麵對象 200
7.4.9 運行測試 202
練習 203
總結 203
第8章 Docker和測試 204
8.1 Docker生態係統下的工具 205
8.1.1 Docker 205
8.1.2 Docker Machine 207
8.1.3 Docker Compose 208
8.2 Arquillian Cube 210
8.2.1 設置Arquillian Cube 211
8.2.2 編寫容器測試 214
8.2.3 編寫集成測試 217
8.2.4 編寫端到端測試 221
8.3 REST API 224
8.4 Arquillian Drone和Graphene 225
8.4.1 Arquillian Cube 和Arquillian Drone 的集成 225
8.4.2 Arquillian Cube 和Arquillian Graphene 的集成 228
8.5 並行測試 230
8.6 Arquillian Cube和Algeron 231
8.7 使用容器對象模式 233
8.8 部署測試和Kubernetes 240
8.9 構建腳本的修改 245
8.9.1 Arquillian Cube Docker 245
8.9.2 Arquillian Cube Docker JUnit 規則246
8.9.3 Arquillian Cube Kubernetes 246
8.9.4 Arquillian Cube OpenShift 247
8.10 測試視頻服務的Dockerfile 247
練習 249
總結 249
第9章 服務虛擬化 250
9.1 什麼是服務虛擬化 250
9.1.1 為什麼要使用服務虛擬化 251
9.1.2 什麼時候使用服務虛擬化 252
9.2 使用Hoverfly模擬服務響應 253
9.2.1 Hoverfly 模式 253
9.2.2 JUnit Hoverfly 255
9.2.3 配置Hoverfly .257
9.3 構建腳本的修改 258
9.4 對Gamer應用使用服務虛擬化 258
總結 260
第10章 微服務下的持續交付 262
10.1 什麼是持續交付 263
10.2 微服務架構和持續交付 264
10.3 持續交付的編排 266
10.3.1 使用Jenkins 267
10.3.2 Jenkins 流水綫 267
10.3.3 確定性部署 271
10.4 Jenkins 272
10.4.1 定義一個流水綫 276
10.4.2 Jenkins 流水綫示例 278
總結 280
附錄A 使用Arquillian Chameleon屏蔽不同類型的容器281
· · · · · · (收起)

讀後感

評分

評分

評分

評分

評分

用戶評價

评分

標準實踐類的框架,省略太多瞭,所以內容比較水,也就是提供個思路吧……

评分

標準實踐類的框架,省略太多瞭,所以內容比較水,也就是提供個思路吧……

评分

標準實踐類的框架,省略太多瞭,所以內容比較水,也就是提供個思路吧……

评分

標準實踐類的框架,省略太多瞭,所以內容比較水,也就是提供個思路吧……

评分

標準實踐類的框架,省略太多瞭,所以內容比較水,也就是提供個思路吧……

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有