最「高大上」的Spring測試:Spring Test

我想給你們介紹一款很是實用、且高端大氣上檔次的spring測試,在這裏,我要強烈推薦使用Spring的Test Context框架,爲何呢?俗話說,「貨比三家不上當」,要搞清楚這個問題,咱們先來看一看傳統的Spring測試:html

傳統的Spring測試

咱們開發一個Spring的HelloWorld。
第一步:準備開發Spring依賴的jar包spring

第二步:定義一個簡單的POJO類:HelloWorld,以下:服務器

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

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

運行測試類,輸出結果:性能

傳統Spring測試帶來的問題

  • 問題1、致使Spring 容器屢次初始化,性能開銷很大。
  • 問題2、不該該由測試代碼管理Spring容器,應該是由Spring容器來管理測試代碼。
  • 問題3、沒法獨立於服務器完成事務測試等。

傳統的Spring測試(以下圖):單元測試

 

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

 

Spring Test的優點

  • 使用Spring Test 有助於減小啓動容器的開銷,提升測試效率。
  • Spring Test能夠直接使用@AutoWired注入Spring容器或bean。
  • Spring Test還支持事務測試,集成測試等。

 

搭建Spring的Test環境

步驟1、依賴jar:spa

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

從新準備測試的配置文件:

步驟2、Spring測試使用到的三個註解:

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

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

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

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

 

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

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

    

相關文章
相關標籤/搜索