如何使用Spring-Test對Spring框架進(jìn)行單元測試
Spring-Test對Spring框架進(jìn)行單元測試
配置過程:
加載依賴
引入Maven依賴:
<!--spring單元測試依賴 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${springframework}</version>
<scope>test</scope>
</dependency>
編寫SpringTestBase基礎(chǔ)類,加載所需xml文件
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@ContextConfiguration(locations = { "classpath:Application-Redis.xml" })
@RunWith(SpringJUnit4ClassRunner.class)
public class SpringTestBase extends AbstractJUnit4SpringContextTests {
}
將所需加載的xml文件指定為locations的value。
編寫單元測試類 示例
直接繼承SpringTestBase 就可以對Spring框架的內(nèi)容進(jìn)行單元測試。
import org.junit.Assert;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
public class TestRedisCacheDaoImpl extends SpringTestBase {
@Autowired
public RedisCacheDaoImpl redisCacheDaoImpl;
@Test
public void testPing() {
boolean reslut = redisCacheDaoImpl.ping();
Assert.assertEquals(true, reslut);
}
}
Spring-Test測試數(shù)據(jù)
1、新建一個maven項目
2、pom.xml當(dāng)中添加依賴
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
spring-test是Spring當(dāng)中的測試包,而junit是單元測試包,結(jié)合起來使用。
添加一個bean,便于測試。
HelloService.java
@Service
public class HelloService {
public String hello(String name) {
return "hello " + name;
}
}
添加配置文件掃描包:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<!--將除了 Controller 之外的所有 Bean 注冊到 Spring 容器中-->
<context:component-scan base-package="org.youyuan" use-default-filters="true">
<context:exclude-filter type="annotation" expression="org.youyuan.controller"/>
</context:component-scan>
</beans>
3、測試方法
@ContextConfiguration("classpath:applicationContext.xml")
@RunWith(SpringJUnit4ClassRunner.class)
public class Test {
@Autowired
HelloService helloService;
@org.junit.Test
public void test(){
System.out.println(helloService.hello("youyuan"));
}
}
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringMVC基于阻塞隊列LinkedBlockingQueue的同步長輪詢功能實現(xiàn)詳解
這篇文章主要介紹了SpringMVC基于阻塞隊列LinkedBlockingQueue的同步長輪詢功能實現(xiàn)詳解,本文介紹的也是生產(chǎn)者消費者的一種實現(xiàn),生產(chǎn)者不必是一個始終在執(zhí)行的線程,它可以是一個接口,接受客戶端的請求,向隊列中插入消息,需要的朋友可以參考下2023-07-07
Spring Boot Logging Level設(shè)置為off時的Bug
這篇文章主要介紹了Spring Boot Logging Level設(shè)置為off時的Bug,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
springboot的異步任務(wù):無返回值和有返回值問題
這篇文章主要介紹了springboot的異步任務(wù):無返回值和有返回值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
解析Java和Eclipse中加載本地庫(.dll文件)的詳細(xì)說明
本篇文章是對Java和Eclipse中加載本地庫(.dll文件)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
IDEA里找不到Maven的有效解決辦法(小白超詳細(xì))
這篇文章主要給大家介紹了關(guān)于IDEA里找不到Maven的有效解決辦法,文中通過圖文將解決的辦法介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07

