好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

如何使用Spring-Test对Spring框架进行单元测试

Spring-Test对Spring框架进行单元测试

配置过程:

加载依赖

引入Maven依赖:

?

1

2

3

4

5

6

7

<!--spring单元测试依赖 -->

< dependency >

     < groupId >org.springframework</ groupId >

     < artifactId >spring-test</ artifactId >

     < version >${springframework}</ version >

     < scope >test</ scope >

</ dependency >

编写SpringTestBase基础类,加载所需xml文件

?

1

2

3

4

5

6

7

8

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框架的内容进行单元测试。

?

1

2

3

4

5

6

7

8

9

10

11

12

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测试数据

1、新建一个maven项目

2、pom.xml当中添加依赖

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

< 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当中的测试包,而junit是单元测试包,结合起来使用。

添加一个bean,便于测试。

HelloService.java

?

1

2

3

4

5

6

@Service

public class HelloService {

     public String hello(String name) {

         return "hello " + name;

     }

}

添加配置文件扫描包:

?

1

2

3

4

5

6

7

8

9

10

<? xml version = "1.0" encoding = "UTF-8" ?>

< beans xmlns = "http://HdhCmsTestspringframework.org/schema/beans"

        xmlns:xsi = "http://HdhCmsTestw3.org/2001/XMLSchema-instance"

        xmlns:context = "http://HdhCmsTestspringframework.org/schema/context"

        xsi:schemaLocation = "http://HdhCmsTestspringframework.org/schema/beans http://HdhCmsTestspringframework.org/schema/beans/spring-beans.xsd http://HdhCmsTestspringframework.org/schema/context https://HdhCmsTestspringframework.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、测试方法

?

1

2

3

4

5

6

7

8

9

10

@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" ));

     }

}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

原文链接:https://blog.csdn.net/u011389474/article/details/72303118

查看更多关于如何使用Spring-Test对Spring框架进行单元测试的详细内容...

  阅读:17次