• 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层。所以还需要继续学习。
  • 相关阅读:
    luogu P1641 [SCOI2010]生成字符串
    luogu P2662 牛场围栏
    luogu P3193 [HNOI2008]GT考试
    luogu P3293 [SCOI2016]美味
    luogu P2048 [NOI2010]超级钢琴
    Wannafly挑战赛21 E 未来城市规划
    luogu P2770 航空路线问题
    luogu P4082 [USACO17DEC]Push a Box
    运维交流平台
    elk之[logstash-input-file]插件使用详解
  • 原文地址:https://www.cnblogs.com/hujingwei/p/4737363.html
Copyright © 2020-2023  润新知