如何使用Spring-Test對(duì)Spring框架進(jìn)行單元測(cè)試
Spring-Test對(duì)Spring框架進(jìn)行單元測(cè)試
配置過(guò)程:
加載依賴(lài)
引入Maven依賴(lài):
<!--spring單元測(cè)試依賴(lài) --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${springframework}</version> <scope>test</scope> </dependency>
編寫(xiě)SpringTestBase基礎(chǔ)類(lèi),加載所需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è)試類(lèi) 示例
直接繼承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)中添加依賴(lài)
<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)用詳解