SpringTest(一)
2024-10-21 11:45:29
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层。所以还需要继续学习。
|
最新文章
- mysql 学习笔记 第二天
- jstl标签2
- Unity手游之路<;一>;C#版本Protobuf
- MongoDB-Getting Started with the C# Driver
- 学习mongo系列(二) 新建数据库,collection ,insert(),save()
- [转]SQLServer2008日志文件无法收缩处理方法
- 对于Discuz!NT不允许新用户注册的解决办法
- [团队项目]expat不兼容BUG
- Android Studio 常用快捷键及如何沿用Eclipse的快捷键
- SAP研究贴之--发票校验提示移动平均价为负
- ORACLE ------MYSQL2014 大会 PPT
- Java 文件下载
- 如何快速恢复MyEclipse的默认主题
- 数据库分库分表(sharding)系列(二) 全局主键生成策略
- LeetCode_Spiral Matrix
- strip 命令的使用方法
- 如何使用autolayout的UIView加入动画
- 深入浅出数据结构C语言版(20)——快速排序
- Android 5.x 权限问题解决方法
- 项目中Orcale存储过程优化记录
热门文章
- 2.在Cisco Packet Tracer里交换机默认网关的配置(实现跨网段telnet)
- ATM-db-dnhandler
- windows下软件安装目录
- Matlab数据转化至python端,并写入数据库
- python3调取百度地图API输出某地点的经纬度信息
- Tempter of the Bone HDU - 1010(dfs)
- 遗传算法 | Java版GA_TSP (2)
- HDOJ 2120 Ice_cream's world I
- Android 获取地理位置信息 封装好了 直接用
- VMware之无法切换桥接网络