JMock使用总结

不修改开发代码,程序运行时注入类bugdao,返回mock对象给它

不需要注入spring
/*@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:spring.xml", "classpath:spring-hibernate.xml", "classpath:spring-druid.xml" })*/

public class Test1 {

@Tested    //mock的bugservice
//@Autowired  同样spring的注解也不需要
private BugServiceI bugService;@Injectable    //注入到bugservice
//@Autowired
private BugDaoI bugDao;

@Testpublic void test1() {
final Tbug bug=new Tbug();bug.setName("sss");bug.setId("1");;final Map<String, Object> params = new HashMap<String, Object>();params.put("id", "1");new NonStrictExpectations() {        // Expectations中包含的内部类区块中,体现的是一个录制被测类的逻辑。
                {  bugDao.get("from Tbug t join fetch t.tbugtype bugType where t.id = :id", params);result = bug;        // mock掉返回值
                    bugService.get("1");result = bug;  }  };  Bug b = bugService.get("1");System.out.println(b.getName());  //sss}

}

Mockito使用总结

不修改开发代码,程序运行时注入类bugdao,返回mock对象给它

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:spring.xml", "classpath:spring-hibernate.xml", "classpath:spring-druid.xml" })
public class Test2 {@Autowiredprivate BugServiceI bugService;@Autowiredprivate BugDaoI bugDao;@Testpublic void test() {bugDao = mock(BugDaoI.class);  Tbug bug=new Tbug();bug.setName("sss");bug.setId("1");;Map<String, Object> params = new HashMap<String, Object>();params.put("id", "1");doReturn(bug).when(bugDao).get("from Tbug t join fetch t.tbugtype bugType where t.id = :id", params);   //mockbugService=new BugServiceImpl();ReflectionTestUtils.setField(bugService, "bugDao", bugDao);   //注bugDao
         Bug b = bugService.get("1");          System.out.println(b.getName());}

转载于:https://www.cnblogs.com/season-xie/p/6741302.html

JMock / Mockito 使用方式相关推荐

  1. 单元测试(三) mockito入门

    目录 一.什么是mock测试 二.什么是Mockito 三.快速开始 quickstart 四.3种不同的mock方式 五. Stubbing 六.spying 七.Mockito Argument ...

  2. 单元测试之Mockito

    在单元测试中,应尽量消除测试代码与系统.其他类之间的关系,在隔离的情况下测试代码. Junit单元测试存在的问题 但是随着工程的壮大,使用上篇文章介绍的Junit进行单元测试,存在以下问题 待测试代码 ...

  3. 史上最全的高可用服务系统线上问题排查工具单(一)

    来自:云时代架构 上一篇文章保证高可用Java服务化系统高效运行的必备工具箱介绍了笔者在互联网公司里线上应急和技术攻关过程中积累的应用层脚本和Java虚拟机命令,这些脚本和命令在发现问题和定位问题的过 ...

  4. Mock工具介绍,为什么使用Mock?

    什么是Mock 如果将mock单独翻译过来,其意义为 "虚假.虚设",因此在软件开发领域,我们也可以将其理解成 "虚假数据",或者 "真实数据的替身& ...

  5. java中expectations_JMockit 之 Expectations

    TDD 推求测试先行,不光在自己代码未实现时可以先做好测试,即使平台依赖或第三方接口未准备好我们也能先行一步的,这就要对接口依赖进行 Mock.同时 Mock 也使得我们的测试代码在运行当中不至于随着 ...

  6. Mock工具Jmockit使用介绍

    Mock工具Jmockit使用介绍 在写单元测试的过程中我们会发现需要测试的类有很多依赖,这些依赖的类或者资源又会有依赖,导致在单元测试代码里无法完成构建,我们应对的方法是Mock.简单的说就是模拟这 ...

  7. spock测试框架使用指北

    文章目录 一.Spock是什么 二.Spock,Junit,Jmock以及PowerMock区别 三.Spock项目引用配置 1. POM版本依赖 2. 新建测试用例 3. 执行单元测试 四.Spoc ...

  8. Mock测试工具比较

    Java Mock测试工具比较 最近,在做一个Java Web的项目,项目中需要集成一套Mock测试工具.随即对市面上的mock测试工具进行了调研,下面是调研结果.其中,mock测试工具分为单元测试级 ...

  9. mockito手动注入依赖_依赖注入–手动方式

    mockito手动注入依赖 依赖注入是一种将行为与依赖解决方案分开的技术. 用简单的话来说,它使开发人员可以定义具有特定功能的类,这些功能取决于各种协作者,而不必定义如何获取对这些协作者的引用. 以此 ...

最新文章

  1. 跨域请求,关于后端session会话丢失的解决办法
  2. Python基础教程:自定义迭代器
  3. UVA - 11694 Gokigen Naname(dfs)
  4. python基本输入输出系统_Python的输入输出
  5. Python的sys.stdout、sys.stdin重定向
  6. 温故而知新 C++ 类型转换
  7. Apache 日志配置,包含过滤配置
  8. 详细设计说明书评测规范
  9. MeasureSpec介绍及使用详解
  10. java get中文乱码怎么解决_java中get请求中文乱码怎么办?
  11. web前端学习第三周
  12. 移动应用接入网页QQ登录
  13. macOS上使用aircrack-ng暴力破解Wi-Fi密码
  14. JAVA身份证阅读器数据返回图片
  15. Android 系统下载 DownloadManager
  16. K路归并排序与败者树
  17. CTFshow—MISC图片篇(基础操作)
  18. 一阶常微分方程(二)|全微分方程+线性方程+常数易变法+伯努力方程
  19. 如何删除Mysql注册列表残余文件
  20. 职业精神:薪水到底谁来决定

热门文章

  1. final 字符常量——确定一个值后该值无法改动,使变量变字符常量
  2. Servlet过滤器介绍之原理分析(转)
  3. 【跨平台网络抓包神器のtcpdump】ubuntu下编译tcpdump开源抓包工具
  4. Spring Aop 组件概述
  5. [粉丝福利]--感谢你们关注!
  6. hdu1589(枚举+并查集)
  7. Linux内核中无名管道pipe和有名管道fifo的分析
  8. Alibaba-AndFix Bug热修复框架原理及源码解析
  9. java 下载excel xlsx_JAVA Excel.xlsx 上传于下载
  10. python中plotly.express中线条图,Plotly在Python中表达的意外行