用 JMockit 编程测试代码
2016-05-12 15:35
330 查看
jmockit 测试 主要原理是 通过 mock(虚拟)待测试方法中 调用其他分层 方法的不同返回值 来测试方法。使用这种 mock 方法 可以 单独对 程序中的 某个分层进行测试
1、pom文件引入jmockit包
@Runwith(Jmockit.class)
public class test{
}
3、用 @Tested 标注待测试的类
4、用 @Injectable 注解注入 UserAction类中注入的bean
5、用@before 注解 标记 运行测试前 使用的初始化数据方法
6、编写测试函数并 用@Test 标注
1)设置想要 mock 的待测试方法中 调用的方法及返回值
2)执行待测试的方法
3) 验证待测试方法运行后返回的结果,主要是使用 user = withCapture() 方法去提取调用方法中的参数
按照以上6步即可编写一个比较完整的jmockit 测试类
1、pom文件引入jmockit包
<span style="white-space:pre"> </span><groupId>org.jmockit</groupId> <artifactId>jmockit</artifactId> <version>1.19</version>2、测试类 类头部添加 jmockit 注解
@Runwith(Jmockit.class)
public class test{
}
3、用 @Tested 标注待测试的类
@Tested private UserAction userAction ;
4、用 @Injectable 注解注入 UserAction类中注入的bean
@Injectable private UserService UserService; @Injectable private LoginService loginService;
5、用@before 注解 标记 运行测试前 使用的初始化数据方法
@Before public void init() { user user=new User(); user.setName("test") }
6、编写测试函数并 用@Test 标注
@Test public void test() { }test() 函数的编写一般分三步:
1)设置想要 mock 的待测试方法中 调用的方法及返回值
new Expectations() {{ loginService.getByMemberId(memberId); result = user; loginInfoService.getPumaMemberInfo(memberUuid); result = loginInfo; }};
2)执行待测试的方法
userAction.login();
3) 验证待测试方法运行后返回的结果,主要是使用 user = withCapture() 方法去提取调用方法中的参数
new Verifications() {{ User user=null; login.check(user=withCapture()); assertEquals("ce",user.getName()); }}注意 : new Verifications(){{ }} 此处使用的是双括号。
按照以上6步即可编写一个比较完整的jmockit 测试类
相关文章推荐
- 面向对象编程有三大特性:封装、继承、多态
- Java练习——带界面的通讯录系统
- 保存两位数小数java float类型
- java图形-趣味编程之奥运五环;
- 点击按钮自动加关注的代码(sina微博/QQ空间/人人网/腾讯微博)
- c++简单线程池实现
- Python通过Zabbix API获得数据
- iOS上传图像到服务器,以及服务器PHP接收的几种方法
- Java垃圾回收机制
- C++编译报错解决方法记录
- C# EF CodeFirst简单工厂模式,接口多继承实例
- java第6次作业
- springMVC @ModelAttribute学习
- Python中遍历字典过程中更改元素导致异常的解决方法
- 283. Move Zeroes [easy] (Python)
- Spring 计划
- python 的内建函数
- java基础知识(九)
- java.lang.Integer main方法
- Java 字符串比较小知识