0人評分過此書

Spring REST API開發與測試指南:使用Swagger、HATEOAS、JUnit、Mockito、PowerMock、Spring Test

出版日期
2022
閱讀格式
PDF
書籍分類
學科分類
ISBN
9786263240292

本館館藏

借閱規則
當前可使用人數 30
借閱天數 14
線上看 0
借閱中 0
選擇分享方式

推薦本館採購書籍

您可以將喜歡的電子書推薦給圖書館,圖書館會參考讀者意見進行採購

讀者資料
圖書館
* 姓名
* 身分
系所
* E-mail
※ 我們會寄送一份副本至您填寫的Email中
電話
※ 電話格式為 區碼+電話號碼(ex. 0229235151)/ 手機格式為 0900111111
* 請輸入驗證碼
內容簡介:DevOps與後端系統建置必修技能!

鑒於前後端分離與微服務架構的興起,伺服器端需要提供API供用戶端存取。傳統的SOAP協定是以複雜的XML作為傳送媒介,已經逐漸被使用輕量化JSON傳送資訊的REST API取代,成為開發與建置API的主流。

除此之外,API的開發和上線應用,效率與品質應該兼顧。透過DevOps流程結合開發、測試、營運,可以更快地將新增或修正的功能發佈給使用者;在這樣的環節中,自動化測試至關重要。

本書第一部分介紹Java的單元測試框架如JUnit5、Mockito、PowerMock,並探討如何提升程式的可測試性。

第二部分先介紹REST API的概念與背景。在使用Spring Boot建置初版REST API後,逐章示範API的例外處理、Swagger文件說明、版本控制、分頁與排序、與套用HATEOAS等。

最後結合Spring Test模組對REST API進行單元測試、整合測試、與端對端測試,以期產出符合企業品質與效率的REST API。
  • Part 1:建立單元測試
    • 01 使用JUnit執行單元測試
      • 1.1 正式程式碼與測試程式碼的差異
      • 1.2 單元測試常見名詞說明
      • 1.3 使用JUnit 5
    • 02 建立測試替身
      • 2.1 執行單元測試
      • 2.2 認識測試替身(Test Doubles)
      • 2.3 使用Dummy Object
      • 2.4 使用Test Stub
      • 2.5 使用Test Spy
      • 2.6 使用Mock Object
      • 2.7 使用Fake Object
    • 03 使用Mockito(一)
      • 3.1 認識Mockito
      • 3.2 章節情境說明
      • 3.3 使用Mockito驅動單元測試
      • 3.4 以when()與thenReturn()定義Mock Object的方法
      • 3.5 以when()與thenThrow()定義Mock Object的方法
      • 3.6 使用參數配對器(ArgumentMatcher)
      • 3.7 以verify()驗證Mock Object的方法呼叫
      • 3.8 以when()與thenAnswer()定義Mock Object的方法
    • 04 使用Mockito(二)
      • 4.1 章節情境說明
      • 4.2 快樂路徑與悲傷路徑的測試案例
      • 4.3 測試void方法
      • 4.4 使用doReturn()測試有Return的方法
      • 4.5 使用參數捕捉器(ArgumentCaptor)
      • 4.6 使用InOrder驗證Mock Object呼叫順序
      • 4.7 使用Spy Object
      • 4.8 使用Mockito的標註(annotation)類別
    • 05 使用PowerMock
      • 5.1 使用PowerMock測試legacy程式碼
      • 5.2 偽冒static方法
      • 5.3 抑制類別static成員執行初始化
      • 5.4 抑制父類別建構子的執行
      • 5.5 抑制類別建構子的執行
      • 5.6 抑制方法的執行
      • 5.7 偽冒private方法
      • 5.8 偽冒final方法
      • 5.9 建立final類別的Mock Object
      • 5.10 使用Mockito偽冒static方法、final方法與final類別
    • 06 依據Mockito的可測試性設計正式程式碼
      • 6.1 了解測試障礙的可能原因
      • 6.2 識別建構子的問題
      • 6.3 識別初始化的問題
      • 6.4 識別private方法對單元測試的影響
      • 6.5 識別static方法對單元測試的影響
      • 6.6 識別final方法對單元測試的影響
      • 6.7 識別final類別對單元測試的影響
      • 6.8 識別使用new呼叫建構子造成的測試問題
      • 6.9 識別使用static變數和程式碼區塊造成的測試問題
  • Part 2:建立REST API
    • 07 簡介REST
      • 7.1 什麼是REST?
      • 7.2 認識資源(Resources)
      • 7.3 資源呈現(Representation)
      • 7.4 HTTP方法
      • 7.5 HTTP狀態碼
      • 7.6 理查森的成熟度模型
      • 7.7 構建REST API
    • 08 建構REST API專案
      • 8.1 介紹EasyPoll(簡易問卷) 範例專案
      • 8.2 設計EasyPoll專案
      • 8.3 EasyPoll專案架構說明
      • 8.4 建置EasyPoll範例專案
      • 8.5 建置REST API
    • 09 REST API的例外處理
      • 9.1 資源不存在的例外處理
      • 9.2 請求參數異常的例外處理
      • 9.3 請求JSON格式異常的例外處理
    • 10 建立REST API使用文件
      • 10.1 簡介Swagger
      • 10.2 使用swagger-springmvc套件整合Swagger
      • 10.3 簡介Swagger UI
      • 10.4 客製Swagger UI的資源列表文件
      • 10.5 客製Swagger UI的API宣告文件
      • 10.6 客製Swagger UI其他頁面呈現
      • 10.7 使用springfox-swagger2與springfox-swagger-ui套件整合Swagger
    • 11 REST API的版本控制、分頁與排序
      • 11.1 對API執行版本控制 (Versioning)
      • 11.2 對API的回應內容分頁(Pagination)
      • 11.3 對API的回應內容排序 (Sorting)
    • 12 套用HATEOAS
      • 12.1 簡介HATEOAS與HAL
      • 12.2 使用spring-hateoas套件
  • Part 3:建立REST API的單元測試、整合測試、端對端測試
    • 13 存取與測試REST API
      • 13.1 軟體的測試層級策略
      • 13.2 使用RestTemplate進行REST API的端對端測試
      • 13.3 使用Spring Test進行REST API的單元測試
      • 13.4 使用Spring Test進行REST API的整合測試

評分與評論

請登入後再留言與評分
幫助
您好,請問需要甚麼幫助呢?
使用指南

客服專線:0800-000-747

服務時間:週一至週五 AM 09:00~PM 06:00

loading