SpringMvc Junit4

    xiaoxiao2021-03-25  71

    今天在看spring的Demo的时候,看到了如此单元测试的写法

    如下:

    @RunWIth(SpringJunit4ClassRunner.class)

    @ContextConfiguration(locations = {"classpath:applicationContext.xml"}

    public  class MyTest

    {

    @Test

    public void hehe()

    {

    //.......

    }

    }

    这种写法是为了让测试在Spring容器环境下执行。

    Spring的容器环境是啥呢?

    比如常见的 Service  Dao  Action , 这些个东西,都在Spring容器里,junit需要将他们拿到,并且使用来测试。

    好,笔者写一个十分简单的demo让大家有个体会!

    显示demo的项目结构

    要写的东西就两个 applicationContext.xml 和MyTest.Java

    applicationContext.xml 中仅仅只定义了一个Date对象。

    [html]  view plain  copy   <?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的内容

    [java]  view plain  copy   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());       }   }  

    最后只需要运行就可以了。

    最后如图所示,成功拿到了Spring容器里的Date对象。

    诸如哪些   Action Service Dao  ServiceImpl DaoImpl都是一个道理,可以通过这种方式拿到,然后进行单元测试。。。

    转载请注明原文地址: https://ju.6miu.com/read-17319.html

    最新回复(0)