從JUnit 4開始,測試可以並行運行以加速大型測試套件的執行。在Spring TestContext Framework之前,Spring 5之前,併發測試執行並未得到充分支持。本文將介紹如何使用...
知識庫 / Testing RSS 訂閱
Spring 控制器 JUnit 測試應用上下文加載失敗
在 Spring Boot 應用中,Bean 的混合定義包括基於註解和基於 XML 的配置。在這樣的環境中,我們可能需要在測試類中使用基於 XML 的配置。然而,有時在這樣的...
JSONassert 入門
本文將探討 JSONAssert 庫——一個專注於理解 JSON 數據並使用該數據編寫複雜 JUnit 測試的庫。 首先,添加 Maven 依賴: groupId: org.skyscreamer
排除 Spring Boot 測試中的自動配置類
本教程將介紹如何從 Spring Boot 測試中排除自動配置類。Spring Boot 的自動配置功能非常實用,它能處理很多設置。但這也可能在測試過程中帶來問題。
Spring Cloud Netflix 和 Feign 集成測試
本文將探討Feign Client的集成測試。我們將創建一個基本的Feign Client,並使用WireMock編寫一個簡單的集成測試。隨後,我們將添加Ribbon配置。
Spring Boot @ConfigurationProperties 測試
在之前的關於@ConfigurationProperties的指南中,我們學習瞭如何使用Spring Boot中的@ConfigurationProperties註解,以便與外部配置進行交互。本教程將討論如何測試配置類。
REST API 測試與 Cucumber
本教程介紹Cucumber,一種常用的用户驗收測試工具,以及如何將其應用於REST API測試。此外,為了使文章內容自包含且獨立於任何外部REST服務,我們將使用WireMoc。
Spring OAuth2 訪問控制測試
本教程將探討在 Spring 應用中使用 OAuth2 安全性,並使用 Mocked 身份驗證測試訪問控制規則的選項。我們將使用 MockMvc 請求處理器、WebTestClient 變體和測試註解。
在應用程序啓動前配置 @MockBean 組件
@MockBean 是 Spring 框架提供的註解,它能幫助創建 Spring 組件的 Mock 對象,允許我們在測試過程中用 Mock 對象替換實際的 Bean。這在集成測試中尤其有用,因為我們希望用 Mock 對象替換真實的 Bean。
REST-assured 使用 Groovy
本教程將介紹如何使用 REST-assured 庫與 Groovy 結合使用。由於 REST-assured 底層使用 Groovy,我們有機會使用原始 Groovy 語法創建更強大的測試用例。 框架...
Spring Boot 測試中 @Autowired 和 @InjectMocks 的使用
本教程將探討 Spring Boot 中 @Autowired 和 Mockito 的 @InjectMock 在 Spring Boot 測試中注入依賴時的使用方法。我們將分析需要使用這些註解的用例,並提供相應的示例。
使用 MockMvc 與 SpringBootTest 及其與 WebMvcTest 的比較
讓我們深入探索 Spring Boot 測試的世界!本教程將深入探討 @SpringBootTest 和 @WebMvcTest 註解。我們將探索何時以及為什麼使用它們,以及它們如何協同工作以測試我們的 Spring Boot 應用程序。
優化 Spring 集成測試
本文將全面探討使用 Spring 進行集成測試及其優化方法。首先,我們將簡要討論集成測試的重要性及其在現代軟件開發中應有的地位,重點關注 Spring 生態系統。
測試 Spring Boot 應用的主類
對 Spring Boot 應用程序的主類進行測試至關重要,以確保應用程序正確啓動。雖然單元測試通常側重於單個組件,但驗證應用程序上下文是否正常加載,可以防止運行時問題。
快速指南:@TestPropertySource 使用
Spring 提供了許多功能來幫助我們測試代碼。有時我們需要使用特定的配置屬性來設置測試用例所需的場景。在這些情況下,我們可以使用 @TestPropertySource 註解。
Spring Boot 和 Testcontainers 中的數據庫集成測試
Spring Data JPA 提供了一種便捷的方式來創建數據庫查詢並使用嵌入式 H2 數據庫進行測試。 但在某些情況下,在真實數據庫上進行測試可能更有益,尤其是在使用提供商依賴的查詢時。 本教程將…
使用 JwtDecoder 模擬 JWT 在 JUnit 測試中
本教程將探討如何有效地模擬 JWT(JSON Web Token)以進行 Spring Security 應用的單元測試,特別是對於使用 JWT 身份驗證的應用程序。測試 JWT 保護的端點通常需要模擬不同的 JWT 場景,而無需依賴真實的 JWT。
測試 Spring Boot 中的 CORS 跨域資源共享
跨域資源共享 (CORS) 是一種安全機制,允許一個域的網頁訪問另一個域的資源。 瀏覽器通過 CORS 機制來防止網站向不同域發出未經授權的請求。
Spring Boot 測試中模擬 @Value 注入
在 Spring Boot 中編寫單元測試時,經常會遇到需要模擬外部配置或使用 @Value 註解加載的屬性的情況。這些屬性通常從 application.properties 或 application.yml 文件中加載。
Spring Web 服務集成測試 (@WebServiceServerTest)
本文將介紹如何編寫 SOAP Web 服務集成測試,這些服務使用 Spring Boot 構建。我們已經瞭解瞭如何編寫應用程序類單元測試,並且在測試教程中已經涵蓋了通用的測試概念。
模擬 ObjectMapper 的 readValue() 方法
在對涉及 Jackson 解析 JSON 的代碼進行單元測試時,模擬 `ObjectMapper#readValue` 方法可能更方便。這樣,我們無需在測試中指定冗長的 JSON 輸入。本教程將演示如何實現這一操作。