日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring应用的单元测试

發布時間:2025/7/14 javascript 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring应用的单元测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?Spring應用的單元測試

?????? 單元測試現在越來越被廣泛重視起來,而Spring更是將時下比較流行的Junit開元測試框架進行整合下面我簡單的介紹一下在Sping中該如何對代碼進行單元測試(本節會認為讀者已經具備了Junit基礎方面的知識)。按照Spring的推薦,在單元測試時不應該依賴于Spring容器,也就是說不應該在單元測試是啟動ApplicationContext并從中獲取Bean,相反應該通過模擬對象完成單元測試。而Spring就提供了這樣一個類供大家繼承。下面來看看示例代碼: ?????? 1)自動裝配的測試用例 代碼清單1 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.tony.web.dao.FooDao; ? @Service public class FooService { ??? @Autowired ??? private FooDao dao; ??? public String save(String name){ ?????? if(name == null || "".equals(name)) ?????????? throw new RuntimeException("Name is null"); ?????? return dao.save(name); ??? } } import org.springframework.stereotype.Repository; @Repository public class FooDao { ??? public String save(String name){ ?????? return "success"; ??? } } import org.springframework.test. AbstractDependencyInjectionSpringContextTests; import com.tony.web.service.FooService; public class MyTest extends AbstractDependencyInjectionSpringContextTests{ ??? protected FooService fooService; ??? //set方法 ??? public void setFooService(FooService fooService) { ?????? this.fooService = fooService; ??? } ??? //指定Spring配置文件的位置 ??? protected String[] getConfigLocations(){ ?????? return new String[]{"spring-config-beans.xml"}; ??? } ??? //測試方法 ??? public void testSave(){ ?????? String str = this.fooService.save("Tony"); ?????? System.out.print(str); ?????? assertEquals("success", str); ??? } } <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://...> ??? <context:component-scan base-package="com.tony"/> </beans> 代碼清單1中定義了FooService.javaFooDao.java兩個Bean已經使用 @Autowired進行了裝配,我們的單元測試類MyTest繼承了 AbstractDependencyInjectionSpringContextTests類,配置好fooServiceset方法并且指定Spring配置文件的位置后,當測試用例運行時我們需要的fooService會自動注入進來,我們只要在testSave方法中直接使用就可以了,還有兩外一種寫法 代碼清單2 public class MyTest extends AbstractDependencyInjectionSpringContextTests{ ??? protected FooService fooService; ??? ??? public MyTest(){ ?????? //啟用直接對屬性變量進行注入的機制 this.setPopulateProtectedVariables(true); ??? } ??? protected String[] getConfigLocations(){ ?????? return new String[]{"spring-config-beans.xml"}; ??? } ??? public void testSave(){ ?????? String str = this.fooService.save("Tony"); ?????? System.out.print(str); ?????? assertEquals("success", str); ??? } } 代碼清單2中我們移除了set方法,增加了一個構造函數,在構造函數中調用父類的方法啟用直接對屬性變量進行注入的機制。有時我們測試的時候會操作數據庫插入一條記錄,由于我們不會每次都修改測試的數據,當我們再次插入同樣的數據時數據庫肯定會要報錯了,此時我們需要既能測試又能不讓測試的數據在數據庫中起作用,Spring就知道我們的這個需要,為我們準備了AbstractTransactionalSpringContextTests這個類。 代碼清單3 import org.springframework.test. AbstractTransactionalSpringContextTests; import com.tony.web.service.FooService; public class MyTest extends AbstractTransactionalSpringContextTests{ ??? protected FooService fooService; ??? public MyTest(){ ?????? this.setPopulateProtectedVariables(true); ??? } ??? protected String[] getConfigLocations(){ ?????? return new String[]{"spring-config-beans.xml"}; ??? } //測試方法中的數據操作將在方法返回前被回滾,不會對數據庫產生永久性數據操作,下一//次運行該測試方法時,依舊可以成功運行. ??? public void testSave(){ ?????? String str = this.fooService.save("Tony"); ?????? System.out.print(str); ?????? assertEquals("success", str); ??? } } ??? 這樣就可以在方法返回之前將測試數據回滾,以保證下次單元測試的成功。

總結

以上是生活随笔為你收集整理的Spring应用的单元测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天操夜操 | 日本一区二区免费看 | 久久精品在线观看 | 黄片毛片在线 | 97超碰在线资源 | 成人精品一区二区三区视频 | 久久人人爽人人爽人人 | 阿v免费在线观看 | 91在线视频免费看 | www..com色 | 影视先锋av资源 | 最新中文字幕免费 | 一本久久久 | 拔插拔插海外华人免费视频 | 在线观看欧美亚洲 | 一级黄色性视频 | 天躁夜夜躁狼狠躁 | 精品国产一区二区三区日日嗨 | 亚洲中文字幕无码一区 | 前任攻略在线观看免费完整版 | 综合免费视频 | 一区二区亚洲精品 | 成人午夜在线观看 | 99自拍| 中文字幕免费高清网站 | 久久久久久久爱 | 久久99热精品 | 国产一区免费视频 | 亚洲五月天综合 | 久久黄色大片 | 美日韩成人av | 三级国产视频 | 制服丝袜在线视频 | 国产理论视频 | 樱花影院最新免费观看攻略 | 欧美激情成人 | 亚洲私人网站 | 影音先锋中文字幕资源 | 国产夫妻性爱视频 | 国产一区视频在线播放 | 日本韩国免费观看 | 日本激情小视频 | 我和我的太阳泰剧在线观看泰剧 | 91手机视频在线观看 | 91福利视频网站 | 天天色天天搞 | 日本在线一区 | 欧洲亚洲国产精品 | 操丝袜美女视频 | 国产高潮失禁喷水爽到抽搐 | 男人影院在线 | 懂色av一区二区三区四区五区 | a天堂最新地址 | 毛片自拍 | 日韩第三页 | 日韩精品中文字幕一区二区 | 日日操夜夜操视频 | 欧美人吸奶水吃奶水 | 久久久久久免费毛片精品 | 久久亚洲熟女cc98cm | 成人激情视频 | 黄色一区二区三区 | 成人免费视频国产免费麻豆 | 美女黄免费| 久久网一区 | 电影《两个尼姑》免费播放 | 总裁憋尿呻吟双腿大开憋尿 | 欧美久久久久久 | 麻豆黄色网 | 天天爽天天爱 | 亚洲精品久久久久久动漫器材一区 | 黄色a级免费 | 亚洲在线中文字幕 | 国产又大又黄的视频 | 亚洲一级一级 | 天堂网av中文字幕 | 四虎精品一区二区 | 国产免费av网址 | 欧美成人aaaa | 午夜吃瓜 | 亚洲在线观看免费视频 | 欧美精品video| 一级空姐毛片 | 久热网站| 日本黄页网站免费大全 | 色丁香av| 一本—道久久a久久精品蜜桃 | 成都4电影免费高清 | 丰满岳乱妇一区二区 | 亚洲国产毛片aaaaa无费看 | 美女黄污网站 | 欧美一级黄色片视频 | 超碰蜜臀 | 九九热在线免费观看 | avxx| 日韩高清久久 | 成人激情小说网站 | 熟妇人妻久久中文字幕 | 香蕉视频污视频 |