免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

詳解Junit測試之SpringTest-創新互聯

在做spring相關測試時比較麻煩,如果只用JUnit測試,需要沒測有初始化一下applicationContext,效率比較底下,而且也有不足之處。

網站建設哪家好,找成都創新互聯公司!專注于網頁設計、網站建設、微信開發、小程序設計、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了馬關免費建站歡迎大家使用!

1、導致多次Spring容器初始化問題


根據JUnit測試方法的調用流程,每執行一個測試方法都會創建一個測試用例的實例并調用setUp()方法。由于一般情況下,我們在setUp()方法 中初始化Spring容器,這意味著如果測試用例有多少個測試方法,Spring容器就會被重復初始化多次。雖然初始化Spring容器的速度并不會太 慢,但由于可能會在Spring容器初始化時執行加載Hibernate映射文件等耗時的操作,如果每執行一個測試方法都必須重復初始化Spring容 器,則對測試性能的影響是不容忽視的;使用Spring測試套件,Spring容器只會初始化一次!

2、需要使用硬編碼方式手工獲取Bean


在測試用例類中我們需要通過ctx.getBean()方法從Spirng容器中獲取需要測試的目標Bean,并且還要進行強制類型轉換的造型操作。這種乏味的操作迷漫在測試用例的代碼中,讓人覺得煩瑣不堪;使用Spring測試套件,測試用例類中的屬性會被自動填充Spring容器的對應Bean,無須在手工設置Bean!

3、數據庫現場容易遭受破壞


測試方法對數據庫的更改操作會持久化到數據庫中。雖然是針對開發數據庫進行操作,但如果數據操作的影響是持久的,可能會影響到后面的測試行為。舉個例子, 用戶在測試方法中插入一條ID為1的User記錄,第一次運行不會有問題,第二次運行時,就會因為主鍵沖突而導致測試用例失敗。所以應該既能夠完成功能邏 輯檢查,又能夠在測試完成后恢復現場,不會留下“后遺癥”;使用Spring測試套件,Spring會在你驗證后,自動回滾對數據庫的操作,保證數據庫的現場不被破壞,因此重復測試不會發生問題!

4、不方便對數據操作正確性進行檢查


假如我們向登錄日志表插入了一條成功登錄日志,可是我們卻沒有對t_login_log表中是否確實添加了一條記錄進行檢查。一般情況下,我們可能是打開 數據庫,肉眼觀察  是否插入了相應的記錄,但這嚴重違背了自動測試的原則。試想在測試包括成千上萬個數據操作行為的程序時,如何用肉眼進行檢查?
只要你繼承Spring的測試套件的用例類,你就可以通過jdbcTemplate在同一事務中訪問數據庫,查詢數據的變化,驗證操作的正確性!

1. maven 配置

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-test</artifactId>
  <version>4.3.12</version>
  <scope>test</scope>
</dependency>

分享題目:詳解Junit測試之SpringTest-創新互聯
分享網址:http://m.newbst.com/article28/depgcp.html

成都網站建設公司_創新互聯,為您提供做網站App開發企業網站制作軟件開發網站改版App設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

營銷型網站建設