一、第一次做UT,有一些自己的小收获,记录下,顺便希望能够帮助到别人。

二、Mock
 mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法
  说白了,Mock就是可以给你制造任何你想要的对象,分层测试,你可以只测试controller或者service,而不需要牵扯到下层的调用,这样的话,测试就变得容易了。你可以Mock任何自己想要的资源。
假设你的接口,有500种不同的返回结果,你要制造这500种返回结果来提高覆盖率,那么你会累死在写UT上,但是,你可以Mock让它返回任意值,这样UT覆盖率就会像坐火箭一样,嗖嗖的上升,哈哈哈!!!

1、当你进行controller层的测试的时候,需要Mock掉service层,
例如:

@Mock
private RouteServiceImpl routeService;

然后,你可以返回自己设置的、想要的、任意的内容,list是我期望返回的内容,

when(routeService.selectByRouteId(any())).thenReturn(list);

2、当你进行service层的测试的时候,需要Mock掉Dao(Mapper)层,
例如:

@Mock
private RuleMapper ruleMapper;

任意的大于0的整数是我期望的返回内容,

when(ruleMapper.insertSelective(any())).thenReturn(1);

3、有try/catch的块,需要加

@Test(expected = RuntimeException.class)

写UT之后,感觉代码的编写,会很大程度影响测试的繁简情况。当然,如果你确实是TDD,可能就不需要这样的建议。
1、尽量少用if/else,尤其忌讳嵌套,否则,你的UT肯定会写一大堆,毕竟,要么if,要么else(废话)
2、if里的逻辑,少用&& ||,嵌套多了,分支多的会让你哭的
3、少用static方法,目前我还不会static方法的测试/::</::</::<
4、少用private方法,测试困难,关于私有方法,可以测试调用它的方法。

使用Mock进行单元测试相关推荐

  1. 【全面解析Mock】Mock在单元测试中扮演一个什么角色?

    目录 一.Mock在单元测试中扮演一个什么角色 二.测试准备 三.使用Mock的理由 四.使用Python Mock 五.MagicMock类 六.mock.create_autospce 七.moc ...

  2. 带你读懂mock测试——单元测试实践篇

    1.什么是mock测试? Mock 测试就是在测试过程中,对于某些不容易构造或者不容易获取的比较复杂的对象,用一个虚拟的对象(Mock 对象)来创建以便测试的测试方法. 2.为什么要进行Mock测试? ...

  3. Mock进行单元测试

    文章目录 @InjectMocks 使用 1.Maven 2.创建Mock对象 Spy 我认为比较好的一种方式: Mockito 使用 Mock 对象的行为验证 验证调用次数 Spy 对象验证 中文文 ...

  4. 如何使用Mock进行单元测试

    为什么要使用Mock? Mock 测试就是在测试过程中,创建一个假的对象,避免你为了测试一个方法,却要自行构建整个 Bean 的依赖链. 举个例子: 类 A 需要调用类 B 和类 C,而类 B 和类 ...

  5. mock 抛出一个异常如何终止_教你使用Mock完成单元测试

    更多精彩文章请关注本人微信公众号 1.什么是Mock? mock是在测试过程中,对于一些不容易构造/获取的对象,创建一个mock对象来模拟对象的行为.比如说你需要调用B服务,可是B服务还没有开发完成, ...

  6. Mock完成单元测试

    转自:https://zhuanlan.zhihu.com/p/98074553 1.什么是Mock? mock是在测试过程中,对于一些不容易构造/获取的对象,创建一个mock对象来模拟对象的行为.比 ...

  7. Go Mock 接口测试 单元测试 极简教程

    gomock 是 Google 开源的 Golang 测试框架. GoMock is a mocking framework for the Go programming language.https ...

  8. Mock和Java单元测试中的Mock框架Mockito介绍

    什么是Mock? 在面向对象程序设计中,模拟对象(英语:mock object,也译作模仿对象)是以可控的方式模拟真实对象行为的假的对象.程序员通常创造模拟对象(mock object)来测试其他对象 ...

  9. 单元测试中使用Mock对象

    单元测试中使用Mock对象 单元测试中使用Mock对象 一.简单的替换 二.Mock 对象 三.测试 Servlet 单元测试中使用Mock对象 一.简单的替换 假设在代码中,你调用你自己的 getT ...

最新文章

  1. 38.linux集合
  2. python基础教程博客_python基础教程(一)
  3. Java socket 重要参数
  4. python基础类型,Python基础-类
  5. crawler4j mysql_Nutch、heritrix、crawler4j优缺点
  6. linux apf防火墙安装配置
  7. HDU 1284 钱币兑换问题 (动态规划 背包方案数)
  8. hibernate 调用oracle存储过程,hibernate调用oracle存储过程||函数
  9. acer台式电脑怎么重装系统_电脑怎么重装系统 手把手教你
  10. wdatepicker 设置只显示时分_液晶显示多功能电力仪表EX8-33
  11. 你不可能没看过这10个设计师的文章
  12. 主页被强制绑定为360导航
  13. 把一个代表DateTime带有T和Z的string转化成DateTime c#
  14. 实证研究的步骤_实证研究方法究竟有多重要,被这5张图惊到了!
  15. 通过singlefile把网页保存到本地
  16. Filter过滤器的理解(一)
  17. Python基础知识总结—数据类型,列表,元组,集合,字典
  18. h5 div自动排列
  19. NB-IOT的基础知识
  20. 第十三届蓝桥杯模拟赛(第一期)题解

热门文章

  1. 每秒处理10万订单乐视集团支付架构
  2. 2022-2028年全球与中国LED舞台照明行业市场前瞻与投资战略规划分析
  3. 专利在线申请之入门到精通再到放弃
  4. MySQL(08 聚合函数 课后练习)
  5. 反常积分(1.反常积分概念)
  6. 操作系统的奋斗(一)计算机系统概述
  7. 浮动带来的问题,以及清除浮动影响的方式
  8. PlayStation 4,PlayStation 4 Slim和PlayStation 4 Pro之间有什么区别?
  9. javaMail发送邮件读取流中的数据并作为作为附件发送邮件
  10. Word另存为PDF时出现“错误!未找到引用源”的解决