亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SSM框架中測(cè)試單元的使用 spring整合Junit過(guò)程詳解

 更新時(shí)間:2019年09月27日 10:02:54   作者:BUG不報(bào)錯(cuò)?  
這篇文章主要介紹了SSM框架中測(cè)試單元的使用 spring整合Junit過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

測(cè)試類(lèi)中的問(wèn)題和解決思路

問(wèn)題

在測(cè)試類(lèi)中,每個(gè)測(cè)試方法都有以下兩行代碼:

ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml"); 

IAccountService as = ac.getBean("accountService",IAccountService.class);

這兩行代碼的作用是獲取容器,如果不寫(xiě)的話(huà),直接會(huì)提示空指針異常。所以又不能輕易刪掉。

解決思路分析

針對(duì)上述問(wèn)題,我們需要的是程序能自動(dòng)幫我們創(chuàng)建容器。一旦程序能自動(dòng)為我們創(chuàng)建 spring 容器,我們就無(wú)須手動(dòng)創(chuàng)建了,問(wèn)題也就解決了。

我們都知道,junit 單元測(cè)試的原理(在 web 階段課程中講過(guò)),但顯然,junit 是無(wú)法實(shí)現(xiàn)的,因?yàn)樗约憾紵o(wú)法知曉我們是否使用了 spring 框架,更不用說(shuō)幫我們創(chuàng)建 spring 容器了。不過(guò)好在,junit 給我們暴露了一個(gè)注解,可以讓我們替換掉它的運(yùn)行器。

這時(shí),我們需要依靠 spring 框架,因?yàn)樗峁┝艘粋€(gè)運(yùn)行器,可以讀取配置文件(或注解)來(lái)創(chuàng)建容器。我們只需要告訴它配置文件在哪就行了。

配置步驟

第一步:拷貝整合 junit的必備 jar包到 lib目錄

此處需要注意的是,導(dǎo)入 jar 包時(shí),需要導(dǎo)入一個(gè) spring 中 aop 的 jar 包。

第二步:使用@RunWith注解替換原有運(yùn)行器

/**
* 測(cè)試類(lèi)
* @Version 1.0
*/ @RunWith(SpringJUnit4ClassRunner.class) public class AccountServiceTest {
}

第三步:使用@ContextConfiguration指定 spring配置文件的位置

/**
*/ @RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:bean.xml"})
public class AccountServiceTest {
}

@ContextConfiguration 注解:

locations 屬性:用于指定配置文件的位置。如果是類(lèi)路徑下,需要用 classpath:表明classes 屬性:用于指定注解的類(lèi)。當(dāng)不使用 xml 配置時(shí),需要用此屬性指定注解類(lèi)的位置。

第四步:使用@Autowired給測(cè)試類(lèi)中的變量注入數(shù)據(jù)

/**
*/ @RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:bean.xml"})
public class AccountServiceTest {
@Autowired
private IAccountService as ;
}

為什么不把測(cè)試類(lèi)配到 xml中

在解釋這個(gè)問(wèn)題之前,先解除大家的疑慮,配到 XML 中能不能用呢? 答案是肯定的,沒(méi)問(wèn)題,可以使用。

那么為什么不采用配置到 xml 中的方式呢? 這個(gè)原因是這樣的:

第一:當(dāng)我們?cè)?xml 中配置了一個(gè) bean,spring 加載配置文件創(chuàng)建容器時(shí),就會(huì)創(chuàng)建對(duì)象。

第二:測(cè)試類(lèi)只是我們?cè)跍y(cè)試功能時(shí)使用,而在項(xiàng)目中它并不參與程序邏輯,也不會(huì)解決需求上的問(wèn)題,所以創(chuàng)建完了,并沒(méi)有使用。那么存在容器中就會(huì)造成資源的浪費(fèi)。

所以,基于以上兩點(diǎn),我們不應(yīng)該把測(cè)試配置到 xml 文件中。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于Java類(lèi)的加載方式

    基于Java類(lèi)的加載方式

    這篇文章主要介紹了基于Java類(lèi)的加載方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 繼承JpaRepository后,找不到findOne()方法的解決

    繼承JpaRepository后,找不到findOne()方法的解決

    這篇文章主要介紹了繼承JpaRepository后,找不到findOne()方法的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java計(jì)算兩點(diǎn)間的距離方法總結(jié)

    java計(jì)算兩點(diǎn)間的距離方法總結(jié)

    小編給大家總結(jié)了在java中計(jì)算兩點(diǎn)之家距離的方法以及相關(guān)實(shí)例代碼分享,有需要的讀者參考下。
    2018-02-02
  • SpringBoot項(xiàng)目實(shí)現(xiàn)短信發(fā)送接口開(kāi)發(fā)的實(shí)踐

    SpringBoot項(xiàng)目實(shí)現(xiàn)短信發(fā)送接口開(kāi)發(fā)的實(shí)踐

    本文主要介紹了SpringBoot項(xiàng)目實(shí)現(xiàn)短信發(fā)送接口開(kāi)發(fā)的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Java?Web中Ajax技術(shù)使用方法介紹

    Java?Web中Ajax技術(shù)使用方法介紹

    ajax技術(shù)是使頁(yè)面能局部刷新的一種技術(shù),下面這篇文章主要給大家介紹了關(guān)于JavaWeb之Ajax的基本使用與實(shí)戰(zhàn)案例的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • Springcloud Bus消息總線原理是實(shí)現(xiàn)詳解

    Springcloud Bus消息總線原理是實(shí)現(xiàn)詳解

    Spring Cloud Bus 使用輕量級(jí)的消息代理來(lái)連接微服務(wù)架構(gòu)中的各個(gè)服務(wù),可以將其用于廣播狀態(tài)更改(例如配置中心配置更改)或其他管理指令,本文將對(duì)其用法進(jìn)行詳細(xì)介紹
    2022-09-09
  • idea文件被鎖無(wú)法更改問(wèn)題

    idea文件被鎖無(wú)法更改問(wèn)題

    這篇文章主要介紹了idea文件被鎖無(wú)法更改問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • java通過(guò)HTTP接收json詳細(xì)實(shí)例代碼

    java通過(guò)HTTP接收json詳細(xì)實(shí)例代碼

    Java作為一門(mén)廣泛使用的編程語(yǔ)言,很多開(kāi)發(fā)人員會(huì)用它來(lái)進(jìn)行http請(qǐng)求,獲取json數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于java通過(guò)HTTP接收json的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • 使用Javacsv.jar的jar包操作csv文件的方法

    使用Javacsv.jar的jar包操作csv文件的方法

    使用javacsv的jar包很方便的可以操作csv文件。下面通過(guò)本教程給大家介紹使用javacsv.jar操作csv文件的方法,感興趣的朋友一起看下吧
    2016-08-08
  • SpringBoot自定義全局異常處理器的問(wèn)題總結(jié)

    SpringBoot自定義全局異常處理器的問(wèn)題總結(jié)

    Springboot框架提供兩個(gè)注解幫助我們十分方便實(shí)現(xiàn)全局異常處理器以及自定義異常,處理器會(huì)優(yōu)先處理更具體的異常類(lèi)型,如果沒(méi)有找到匹配的處理器,那么它會(huì)尋找處理更一般異常類(lèi)型的處理器,本文介紹SpringBoot自定義全局異常處理器的問(wèn)題,一起看看吧
    2024-01-01

最新評(píng)論