如何使用Spring-Test對(duì)Spring框架進(jìn)行單元測(cè)試
Spring-Test對(duì)Spring框架進(jìn)行單元測(cè)試
配置過(guò)程:
加載依賴
引入Maven依賴:
<!--spring單元測(cè)試依賴 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${springframework}</version>
<scope>test</scope>
</dependency>
編寫(xiě)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。
編寫(xiě)單元測(cè)試類 示例
直接繼承SpringTestBase 就可以對(duì)Spring框架的內(nèi)容進(jìn)行單元測(cè)試。
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測(cè)試數(shù)據(jù)
1、新建一個(gè)maven項(xiàng)目
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)中的測(cè)試包,而junit是單元測(cè)試包,結(jié)合起來(lái)使用。
添加一個(gè)bean,便于測(cè)試。
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 注冊(cè)到 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、測(cè)試方法
@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"));
}
}
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java的動(dòng)態(tài)綁定與雙分派_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
java把字符串寫(xiě)入文件里的簡(jiǎn)單方法分享
springboot整合通用Mapper簡(jiǎn)化單表操作詳解
JavaWeb實(shí)現(xiàn)RSA+AES混合加密
Java7和Java8中的ConcurrentHashMap原理解析
Mybatis中l(wèi)ike搭配concat的寫(xiě)法詳解
Java中讀寫(xiě)鎖ReadWriteLock的原理與應(yīng)用詳解

