| 
  SpringMvcTest总结: 
最近要做单元测试,所以选择的是SpringTest这个测试框架。 
1.准备工作。(导入jar包) 
  因为使用Maven管理jar包,所以在要做单元测试的模块中的pom文件中加入如下代码: 
       <dependency> 
            <groupId>org.springframework</groupId> 
            <artifactId>spring-core</artifactId> 
            <version>${spring.version}</version> 
        </dependency> 
        <dependency> 
            <groupId>org.springframework</groupId> 
            <artifactId>spring-web</artifactId> 
            <version>${spring.version}</version> 
        </dependency> 
        <dependency> 
            <groupId>org.springframework</groupId> 
            <artifactId>spring-jdbc</artifactId> 
            <version>${spring.version}</version> 
        </dependency> 
        <dependency> 
            <groupId>org.springframework</groupId> 
            <artifactId>spring-webmvc</artifactId> 
            <version>${spring.version}</version> 
        </dependency> 
        <dependency> 
            <groupId>org.springframework</groupId> 
            <artifactId>spring-oxm</artifactId> 
            <version>${spring.version}</version> 
        </dependency> 
        <dependency> 
            <groupId>org.aspectj</groupId> 
            <artifactId>aspectjweaver</artifactId> 
            <version>1.8.5</version> 
        </dependency> 
<dependency> 
            <groupId>junit</groupId> 
            <artifactId>junit</artifactId> 
            <version>4.12</version> 
            <scope>provided</scope> 
        </dependency> 
        <dependency> 
            <groupId>org.springframework</groupId> 
            <artifactId>spring-test</artifactId> 
            <version>${spring.version}</version> 
        </dependency> 
当然你可以将上述代码写在父模块中,那么就不必每个子模块中都重复写入上面的代码。 
2.编写测试类。 
  @RunWith 
  这是一个类注解,表明该测试类的执行类是什么。如果没有,测试执行类会是默认的。 
  常见的测试执行类: 
  (1)SpringJUnit4ClassRunner.class: 
  (2)Parameterized.class:参数化运行器,配合@Parameters使用junit的参数化功能 
  (3)JUnit4.class:junit4的默认运行器 
  (4)Suite.class,用法如下: 
       @RunWith(Suite.class) 
       @SuiteClasses({ATest.class,BTest.class,CTest.class}) 
       当执行有上面标注的测试类,那么ATest.class,BTest.class,CTest.class等多个测试类也会执行。 
  @ContextConfiguration 注解,这是一个类级别的注解。 
   该注解有以下两个常用的属性: 
   locations:可以通过该属性手工指定 Spring 配置文件所在的位置,可以指定一个或多个 Spring 配置文件。如下所示: 
               @ContextConfiguration(locations={“xx/yy/beans1.xml”,” xx/yy/beans2.xml”})。如果没有设置该属性, 
       那么,会在默认位置找配置文件,默认配置文件为“测试类名-context.xml” 
   inheritLocations:是否要继承父测试用例类中的 Spring 配置文件,默认为 true。 
3.运行测试。 
  因为本人搭建的是Maven项目,所以我会把每个模块的测试类放在对应模块的src/test目录下,那么当我执行"mvn clean test"的时候, 
  maven会自动执行src/test目录下的所有测试类中的测试用例。十分方便,不用逐个点击测试用例进行点击。 
  存在问题: 
  还没有对rest服务的测试进行研究,还有dao层,service层。所以还需要继续学习。 
  | 
原文:http://www.cnblogs.com/hujingwei/p/4737363.html