最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Maven項(xiàng)目中Junit對(duì)Spring進(jìn)行單元測(cè)試方式

 更新時(shí)間:2026年05月10日 10:45:07   作者:feelThonf  
本文介紹了在Spring框架中使用JUnit進(jìn)行單元測(cè)試的方法,包括添加依賴、使用注解、創(chuàng)建測(cè)試基類等內(nèi)容,并詳細(xì)闡述了如何引入多個(gè)配置文件

主要步驟:

1.在工程的pom文件中增加spring-test的依賴

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>

2.使用springframework提供的單元測(cè)試

新建測(cè)試類,并在該類上加上兩個(gè)注解:

  • @RunWith(SpringJUnit4ClassRunner.class)
  • @ContextConfiguration(locations={“classpath*:ApplicationContext.xml”})
  • @RunWith 大家并不陌生,junit4里用它來(lái)做junit加載器
  • @ContextConfiguration 主要用來(lái)加載spring的配置文件路徑:是一個(gè)字符串?dāng)?shù)組,可以加載多個(gè)spring配置文件

測(cè)試代碼如下:

import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:ApplicationContext.xml"})
public class EmpolyeeTest {
    @Autowired
    ApplicationContext ctx; 
    @Test
    public void testEmployee(){
        Employee employee =(Employee) ctx.getBean("employee");
        assertEquals("zhangsan",employee.getName());
    }
}

3.封裝基于AbstractJUnit4SpringContextTests的測(cè)試基類

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.context.ApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath*:ApplicationContext.xml"})
public class SpringTest extends AbstractJUnit4SpringContextTests { 
   public <T> T getBean(Class<T> type){
       return applicationContext.getBean(type);
   }
   public Object getBean(String beanName){
       return applicationContext.getBean(beanName);
   }
   protected ApplicationContext getContext(){
       return applicationContext;
   }

然后其他測(cè)試類只需要繼承該類即可,可以省去每次都要綁定Application對(duì)象。

4.當(dāng)項(xiàng)目變得復(fù)雜

其中的spring配置文件被拆分成了多個(gè),這樣該如何引入多個(gè)配置文件呢?如下:

@RunWith(SpringJUnit4ClassRunner.class)  
@ContextConfiguration(locations = { "classpath*:spring-ctx-service.xml", "classpath*:spring-ctx-dao.xml" })

這樣就可以輕松的引入多個(gè)spring的配置文件了。

或者配置符合某一個(gè)正則表達(dá)式的一類文件,如:

 @RunWith(SpringJUnit4ClassRunner.class) 
 @ContextConfiguration(locations = "classpath*:spring-ctx-*.xml") 

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java面向?qū)ο蠡A(chǔ)教學(xué)(二)

    Java面向?qū)ο蠡A(chǔ)教學(xué)(二)

    這篇文章主要介紹了Java的面相對(duì)象編程思想,包括類對(duì)象方法和封裝繼承多態(tài)等各個(gè)方面的OOP基本要素,非常推薦,需要的朋友可以參考下,希望可以對(duì)你有所幫助
    2021-07-07
  • Spring容器中添加bean的5種方式

    Spring容器中添加bean的5種方式

    我們知道平時(shí)在開發(fā)中使用Spring的時(shí)候,都是將對(duì)象交由Spring去管理,那么將一個(gè)對(duì)象加入到Spring容器中,有哪些方式呢,感興趣的可以了解一下
    2021-07-07
  • 總結(jié)一些Java常用的加密算法

    總結(jié)一些Java常用的加密算法

    今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著Java加密算法展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Spring中單例和多例的深入理解

    Spring中單例和多例的深入理解

    這篇文章主要介紹了Spring中單例和多例的深入理解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java轉(zhuǎn)換時(shí)區(qū)時(shí)間過(guò)程詳解

    java轉(zhuǎn)換時(shí)區(qū)時(shí)間過(guò)程詳解

    這篇文章主要介紹了java轉(zhuǎn)換時(shí)區(qū)時(shí)間過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 修改Maven settings.xml 后配置未生效的解決

    修改Maven settings.xml 后配置未生效的解決

    這篇文章主要介紹了修改Maven settings.xml 后配置未生效的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • Java對(duì)字符串進(jìn)行加密解密

    Java對(duì)字符串進(jìn)行加密解密

    這篇文章主要為大家詳細(xì)介紹了Java字符串加密解密,對(duì)用戶輸入的每個(gè)字符的值進(jìn)行加密解密,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • java和c/c++ 數(shù)據(jù)類型長(zhǎng)度的比較

    java和c/c++ 數(shù)據(jù)類型長(zhǎng)度的比較

    本篇文章主要是對(duì)java和c/c++ 數(shù)據(jù)類型長(zhǎng)度的進(jìn)行了詳細(xì)的比較。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-01-01
  • SpringMVC中參數(shù)綁定問題實(shí)例詳解

    SpringMVC中參數(shù)綁定問題實(shí)例詳解

    springmvc是用來(lái)處理頁(yè)面的一些請(qǐng)求,然后將數(shù)據(jù)再通過(guò)視圖返回給用戶的,下面這篇文章主要給大家介紹了關(guān)于SpringMVC中參數(shù)綁定問題的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • java 與testng利用XML做數(shù)據(jù)源的數(shù)據(jù)驅(qū)動(dòng)示例詳解

    java 與testng利用XML做數(shù)據(jù)源的數(shù)據(jù)驅(qū)動(dòng)示例詳解

    這篇文章主要介紹了java 與testng利用XML做數(shù)據(jù)源的數(shù)據(jù)驅(qū)動(dòng)示例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01

最新評(píng)論

广东省| 福州市| 龙海市| 双柏县| 嘉峪关市| 柯坪县| 海安县| 景德镇市| 博白县| 玛纳斯县| 襄樊市| 宁强县| 翼城县| 池州市| 政和县| 德州市| 田阳县| 普兰县| 观塘区| 靖宇县| 盐山县| 康乐县| 丰镇市| 乐平市| 山东| 阿合奇县| 游戏| 和田市| 遵义市| 嘉鱼县| 宁阳县| 万全县| 六枝特区| 凤翔县| 吉首市| 三门县| 武山县| 黔南| 冷水江市| 呼伦贝尔市| 南雄市|