最“高大上”的Spring測試:Spring Test


我想給大家介紹一款非常實用、且高端大氣上檔次的spring測試,在這里,我要強烈推薦使用Spring的Test Context框架,為什么呢?俗話說,“貨比三家不上當”,要搞清楚這個問題,我們先來看一看傳統的Spring測試:

傳統的Spring測試

我們開發一個Spring的HelloWorld。
第一步:准備開發Spring依賴的jar包

第二步:定義一個簡單的POJO類:HelloWorld,如下:

第三步:閱讀Spring中幫助文檔(xsd-config.html),編寫配置文件:applicationContext.xml:

第四步:引入junit4.x的單元測試環境(),編寫Spring的測試類:HelloTest,如下。

運行測試類,輸出結果:

傳統Spring測試帶來的問題

  • 問題一、導致Spring 容器多次初始化,性能開銷很大。
  • 問題二、不應該由測試代碼管理Spring容器,應該是由Spring容器來管理測試代碼。
  • 問題三、無法獨立於服務器完成事務測試等。

傳統的Spring測試(如下圖):

 

正確的Spring測試(如下圖):

 

Spring Test的優勢

  • 使用Spring Test 有助於減少啟動容器的開銷,提高測試效率。
  • Spring Test可以直接使用@AutoWired注入Spring容器或bean。
  • Spring Test還支持事務測試,集成測試等。

 

搭建Spring的Test環境

步驟一、依賴jar:

Spring4.x需要依賴的單元測試得是最新的junit4.12,Eclipse自帶的junit4.8不支持,同時從Spring4.x開始,還得依賴AOP包的支持。

重新准備測試的配置文件:

步驟二、Spring測試使用到的三個注解:

①:@RunWith:表示先啟動Spring容器,把junit運行在Spring容器中;

②:@ContextConfiguration("classpath:applicationContext.xml"):

表示從CLASSPATH路徑去加載資源文件;

③:@Autowired:表示自動裝配,自動從Spring容器中取出對應bean或者獲取容器對象;

 

若,省略@ContextConfiguration的屬性內容,如下:

則默認去找:當前測試類名-context.xml配置文件,如:HelloWorldTest-context.xml。

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM