SpringTest(一)

 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层。所以还需要继续学习。
原文地址:https://www.cnblogs.com/hujingwei/p/4737363.html