Spring mvc中集成Junit4测试
来源:互联网 发布:slax linux定制中文版 编辑:程序博客网 时间:2024/06/11 13:30
相信各位程序猿在开发过程中都会使用junit,
一下就是我对于junit的个人总结:
Junit 单元测试能够很轻易的对单个类进行测试,相对于在每个类中增加了一个main方法,它是一种无状态或者状态确定的单元测试,对于测试含有大量的复杂的类之间有依赖关系的测试,还是比较麻烦,而spring mvc提供了大量类之间的管理,使类之间的关系完全透明化,显然,如果junit4 能够支持spring mvc的单元测试,那么无疑给开发带来了效率的极大提高。目前junit4 能够不但能够支持spring ioc的单元测试还能够支持spring mvc的测试。
下面介绍如何通过junit4 对spring ioc进行单元测试
maven依赖包
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope></dependency>
测试类
<pre name="code" class="java">/** * @filename User.java * @date 2016年10月26日 */package com.mjkf.demo.domain.model; /** * @author farrell * @date 2016年10月26日 */ public class User { private Integer id; private Integer userId; private String name; private Integer age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getUserId() { return userId; } public void setUserId(Integer userId) { this.userId = userId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "User [id=" + id + ", userId=" + userId + ", name=" + name + ", age=" + age + "]"; }}然后就是spring的配置文件,以下就不做过多的介绍了
直接上junit代码
/** * @filename MainTest.java * @version www.mindai.com * @date 2016年10月25日 */package test.mjkf;import java.util.List;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import com.mjkf.demo.domain.model.User;import com.mjkf.demo.service.IUserService;import com.mjkf.framework.mybatis.mapper.entity.Example;import com.mjkf.framework.mybatis.mapper.entity.Example.Criteria;/** * @author farrell * @date 2016年10月25日 */@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = { "classpath*:spring/applicationContext.xml" })public class MainTest {@AutowiredIUserService userService;@Testpublic void test(){ List<User> users = userService.findAll();for (User user : users) {System.out.println(user.toString());}
}}
整理一下junit注解的含义
@Test:使用该注解的方法为测试方法,自动运行时能够识别并被执行
包含两个参数:expected=XXXException.class 期望出现的异常
timeout=xxx 设定程序运行的超时时间
@Ignore:被忽略的测试方法
@Before:在每个测试方法之前运行
@After: 在每个测试方法之后运行
@BeforeClass:在所有测试开始之前运行
@AfterClass:在所有测试开始之后运行
以上几个就是Junit 4的关键注解,熟练使用这几个注解,将来的测试用例编写肯定能事半功倍。
注意:@Before与@BeforeClass的区别
@Before会加在每个方法前执行,即有几个@Test就会执行几遍。
@BeforeClass 只在所有测试之前执行,只会执行一次。并且@BeforeClass修饰的方法必须是公有的静态方法(public static )。
@After和@AfterClass也类似
每个测试类中这四个注解不能重复使用,一个方法只能从这四个注解中挑选其中一个。
- Spring mvc中集成Junit4测试
- Spring mvc中集成Junit4测试
- Junit4,Spring集成测试配置
- spring MVC中controller层和service层的junit4测试
- spring mvc + junit4测试(包含测试controller)
- spring集成Junit4配置
- spring集成Junit4配置
- spring集成Junit4配置 .
- spring集成Junit4配置
- Spring集成Junit4单元测试
- Spring集成Junit4单元测试
- Spring集成JUnit4
- Spring MVC 结合Junit4
- 在测试spring mvc+junit4遇到的问题
- junit4测试service-spring
- spring junit4 注解测试
- 使用JUnit4测试Spring
- 使用JUnit4测试Spring
- IOS学习之一个示例弄懂代理(delegate)和协议
- 3DS解析(C++版)
- notepad++ json格式化
- --带序号的树形结构
- 初学Grunt不得不知道的几个组件
- Spring mvc中集成Junit4测试
- Re:从零开始的实习生活----序篇
- PHP检索字符串(strstr)文件上传查找指定(.jpg)文件
- js cookie的使用
- MySQL出现Waiting for table metadata lock的场景浅析
- 【Linux】一种Linux网络设备出厂批量软件初始化、安装、升级的方案
- OutLook 编程
- 电脑绘画还在用鼠标吗?好的数位板牌子有哪些
- css学习笔记