powerMockito单元测试准备

1 在需要执行单测的类上注解@RunWith(PowerMockRunner.class) 2 对于需要mock私有方法的需要注解@PrepareForTest(FooServiceImpl.class)

私有方法mock

com.mock.test.service.impl.FooServiceImplTest.private_method()

web controller mock

com.mock.test.controller

InjectMocks和Mock区别

InjectMocks创建该类的一个实例,并将使用@Mock(或@Spy)注释创建的模仿注入到此实例中。此处生成的是实例,不能直接当做mock对象使用 Mock 仅mock该对象本身,不会对里面的属性值做处理,默认是NULL 请注意,您必须使用@RunWith(MockitoJUnitRunner.class)或Mockito.initMocks(this)来初始化这些模拟并注入它们。

doReturn和thenReturn区别

doReturn 不会当实际方法本身做调用 thenReturn 会执行实际的方法,但是返回结果会被mock值替换

any() 和anyString() 区别

any()表示任意对象值,包括null对象 anyString()入参值必须是string类型的实例,但是null不是string类型实例,所以当入参可能为null时,对于anyString可以使用any来替换,负责可能匹配不上导致执行原生方法

完整代码地址:mock-learn: 单元测试mock学习https://gitee.com/pgleo/mock-learn

PowerMockito 简介相关推荐

  1. PowerMock 简介--转载

    原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-powermock/ EasyMock 以及 Mockito 都因为可以极大地简化单元测试的书 ...

  2. PowerMockito使用详解

    一.为什么要使用Mock工具 在做单元测试的时候,我们会发现我们要测试的方法会引用很多外部依赖的对象,比如:(发送邮件,网络通讯,远程服务, 文件系统等等). 而我们没法控制这些外部依赖的对象,为了解 ...

  3. 单元测试及框架简介 --junit、jmock、mockito、powermock的简单使用

    转 单元测试及框架简介 --junit.jmock.mockito.powermock的简单使用 2013年08月28日 14:33:06 luvinahlc 阅读数:6413 标签: 测试工具 单元 ...

  4. PowerMock 简介

    EasyMock 以及 Mockito 都因为可以极大地简化单元测试的书写过程而被许多人应用在自己的工作中,但是这 2 种 Mock 工具都不可以实现对静态函数.构造函数.私有函数.Final 函数以 ...

  5. etcd 笔记(01)— etcd 简介、特点、应用场景、常用术语、分布式 CAP 理论、分布式原理

    1. etcd 简介 etcd 官网定义: A highly-available key value store for shared configuration and service discov ...

  6. Docker学习(一)-----Docker简介与安装

    一.Docker介绍 1.1什么是docker Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级,可移植 ...

  7. 【Spring】框架简介

    [Spring]框架简介 Spring是什么 Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制)和AOP(Asp ...

  8. TensorRT简介

    TensorRT 介绍 引用:https://arleyzhang.github.io/articles/7f4b25ce/ 1 简介 TensorRT是一个高性能的深度学习推理(Inference) ...

  9. 谷粒商城学习笔记——第一期:项目简介

    一.项目简介 1. 项目背景 市面上有5种常见的电商模式 B2B.B2C.C2B.C2C.O2O B2B 模式(Business to Business),是指商家和商家建立的商业关系.如阿里巴巴 B ...

最新文章

  1. WebForm页面生命周期及asp.net运行机制
  2. mysql root情况
  3. Python计算机视觉:第一章 图像处理基础
  4. 盛语小智教育机器人是骗人的_武清区人民检察院未检工作室,开展普法机器人进校园宣讲活动...
  5. 力扣- -正则表达式匹配
  6. hdu1695 GCD(莫比乌斯反演)
  7. asp.net Page事件处理管道
  8. leetcode之回文链表
  9. java实现递归算法
  10. Python百钱百鸡问题
  11. ajax帝国cms自动加载分页,帝国CMS7.0版ajax无刷新添加评论插件
  12. matlab经典例题及答案,matLAB经典例题及答案.pdf
  13. Flink Table和SQL中Table和DataStream的相互转换(fromDataStream、toChangelogStream、attachAsDataStream)
  14. HTML+CSS(part 1)
  15. 【CSS学习笔记五】列表和表格
  16. Debian / Ubuntu下轻松切换GDM, LightDM , KDM
  17. [世界杯] 韩国 vs 多哥 2:1
  18. 【毕业设计/matlab系列】基于Matlab的立体视觉匹配算法实现【含Matlab源码】
  19. 基于《java2实用教程》的java知识点复习整理【第一章——java入门】
  20. 当今中华之教育改革势在必行矣!

热门文章

  1. bind dlz mysql ptr_Bind+DLZ+MySQL智能DNS的正向解析和反向解析实现方法
  2. Unity进度条制作
  3. 2021年中国苹果及苹果加工品进出口情况:我国苹果干进出口均价均有所上涨[图]
  4. C语言:二维数组及其定义
  5. iOS UILable换行相关设置
  6. datatable 摧毁_我们快速的生活方式将使假新闻的发展摧毁我们。
  7. 【Unity ASE学习笔记】
  8. python 使用qq登陆搜狗微信搜索
  9. 【CV】Reg2Net:一种用于计算机视觉任务的多尺度骨干架构
  10. 数据库锁与加锁情况介绍(记录锁、间隙锁、next-key锁)