@RunWith(SpringJUnit4ClassRunner.class)報(bào)錯(cuò)問題及解決
@RunWith(SpringJUnit4ClassRunner.class)報(bào)錯(cuò)

1、查看Spring整合Junit測試時(shí)需要的jar包.是否加載進(jìn)來,如果沒有需要重新加載

2、如果spring-test-3.2.0.RELEASE.jar已經(jīng)導(dǎo)入進(jìn)來,還會(huì)出錯(cuò),看是否導(dǎo)入一下兩個(gè)類包的接口

我的改完后已經(jīng)不再出現(xiàn)錯(cuò)誤
@RunWith和 SpringJUnit4ClassRunner-->junit4和Spring一起使用
今天在看Spring的Demo的時(shí)候,看到了如此單元測試的寫法
如下:
@RunWIth(SpringJunit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"}
public ?class MyTest
{
@Test
public void hehe()
{
//.......
}
}這種寫法是為了讓測試在Spring容器環(huán)境下執(zhí)行。
Spring的容器環(huán)境是啥呢?
比如常見的 Service Dao Action , 這些個(gè)東西,都在Spring容器里,junit需要將他們拿到,并且使用來測試。
好,筆者寫一個(gè)十分簡單的demo讓大家有個(gè)體會(huì)!
顯示demo的項(xiàng)目結(jié)構(gòu)

要寫的東西就兩個(gè) applicationContext.xml 和MyTest.java
applicationContext.xml 中僅僅只定義了一個(gè)Date對象。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean name="date" class="java.util.Date"/>
</beans>
接下來是MyTest.java的內(nèi)容
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import javax.annotation.Resource;
import java.util.Date;
/**
* Created by HuLuo on 2016/8/19.
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
public class MyTest
{
@Resource
Date date;
@Test
public void hehe()
{
System.out.println(date.toLocaleString());
}
}
最后只需要運(yùn)行就可以了。

最后如圖所示,成功拿到了Spring容器里的Date對象。
諸如哪些 Action Service Dao ServiceImpl DaoImpl都是一個(gè)道理,可以通過這種方式拿到,然后進(jìn)行單元測試。。。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java 正則,object中兩個(gè)方法的使用(詳解)
下面小編就為大家?guī)硪黄猨ava 正則,object中兩個(gè)方法的使用(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08
Spring?Boot?Nacos?實(shí)現(xiàn)不停服發(fā)布過程詳解
這篇文章主要為大家介紹了Spring?Boot?Nacos實(shí)現(xiàn)不停服發(fā)布過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
Spring?Boot自動(dòng)配置的原理及@Conditional條件注解
這篇文章主要介紹了Spring?Boot自動(dòng)配置的原理及@Conditional條件注解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的朋友可以參考一下2022-07-07
解決httpServletRequest.getParameter獲取不到參數(shù)的問題
這篇文章主要介紹了解決httpServletRequest.getParameter獲取不到參數(shù)的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
詳談ThreadLocal-單例模式下高并發(fā)線程安全
這篇文章主要介紹了ThreadLocal-單例模式下高并發(fā)線程安全,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
MyBatis?Plus?導(dǎo)入IdType失敗的解決
這篇文章主要介紹了MyBatis?Plus?導(dǎo)入IdType失敗的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12

