讀古今文學網 > Spring Boot實戰 > 4.4 小結 >

4.4 小結

測試是開發高質量軟件的重要一環。沒有好的測試,你永遠無法保證應用程序能像期望的那樣運行。

單元測試專注於單一組件或組件中的一個方法,此處並不一定要使用Spring。Spring提供了一些優勢和技術——松耦合、依賴注入和接口驅動設計。這些都簡化了單元測試的編寫。但Spring不用直接涉足單元測試。

集成測試會涉及眾多組件,這時就需要Spring幫忙了。實際上,如果Spring在運行時負責拼裝那些組件,那麼Spring在集成測試裡同樣應該肩負這一職責。

Spring Framework以JUnit類運行器的方式提供了集成測試支持,JUnit類運行器會加載Spring應用程序上下文,把上下文裡的Bean注入測試。Spring Boot在Spring的集成測試之上又增加了配置加載器,以Spring Boot的方式加載應用程序上下文,包括了對外置屬性的支持和Spring Boot日誌。

Spring Boot還支持容器內測試Web應用程序,讓你能用和生產環境一樣的容器啟動應用程序。這樣一來,測試在驗證應用程序行為的時候,會更加接近真實的運行環境。

此時我們已經構建了一個相當完整的應用程序(雖然有點簡單),它利用Spring Boot的起步依賴和自動配置來處理低級工作,讓我們專心開發應用程序。我們也看到了如何使用Spring Boot的支持來測試應用程序。在後續幾章裡,我們會看到一些不同的東西,瞭解讓Spring Boot應用程序開發更加簡單的Groovy。在第5章,我們會先瞭解Grails框架的一些特性,看看它們在Spring Boot中的用途。