1、为啥用powermock?

自测,提高代码正确率,尽量不出错;提高代码覆盖率,看指标

2、其他框架比较

mockito、easymock、等框架对于final、static、constractor、variable等难办

powermock这方面有优势

3、基本原理

mock一个对象,这个对象啥也不干,和真实对象的字节码不同,就是一个冒牌货。

when、whennew、when(class.method) 这时候规定了mock对象的行为,内部字节码又变了。

走到你指定的行为的时候,mock对象响应你指定的行为。

4、代码

answer 可以根据不同的参数条件,返回不同的结果

argumentsMatcher 匹配不同的参数,返回不同的结果 通常代码里写一个就行了

Constructors 模拟构造方法,参数和调用的时候一致,可以返回指定的值

final 模拟一个 final方法或类 ,能达到mockito、easymock达不到的效果

localVariablle 模拟方法内部的变量

static 模拟静态方法

verifying verify一个方法到底有没有执行。


代码在此
Talk is cheap. Show me the code.

代码在此 码云

感谢汪文君,顺利入门powermock,了解到公司项目怎么玩自测

PowerMockito框架入门及使用相关推荐

  1. 『Scrapy』爬虫框架入门

    框架结构 引擎:处于中央位置协调工作的模块 spiders:生成需求url直接处理响应的单元 调度器:生成url队列(包括去重等) 下载器:直接和互联网打交道的单元 管道:持久化存储的单元 框架安装 ...

  2. c++框架有哪些_Java Mybatis框架入门教程_v20200726

    MyBatis 的前身是 Apache 的开源项目 iBatis.MyBatis 几乎可以代替 JDBC,是一个支持普通 SQL 查询,存储过程和高级映射的基于 Java 的优秀持久层框架.MyBat ...

  3. Python Django框架入门第一课

    Python Django框架入门 1.Django简介 Django使用python开发的一个免费的Web框架,几乎囊括了Web应用的方方面面,用于快速搭建高性能.优雅的网站. 2.配Django运 ...

  4. [Python] Django框架入门

    说明:Django框架入门 当前项目环境:python3.5.django-1.11 项目名:test1 应用名:booktest 命令可简写为:python manager.py xxx => ...

  5. python web 框架例子_最快的 Python Web 框架入门

    原标题:最快的 Python Web 框架入门 来源:Python开发 ID:PythonPush 速度比较 框架 实现基础 每秒请求数 平均时间 Sanic Python 3.5 + uvloop ...

  6. SpringBatch批处理框架入门(二)

    这篇文章接上一篇SpringBatch批处理框架入门(一),继续讲解SpringBatch基础知识. 目录 SpringBatch 核心类介绍 SpringBatch 核心类Job SpringBat ...

  7. Newbe.Claptrap 框架入门,第二步 —— 创建项目

    接上一篇 <Newbe.Claptrap 框架入门,第一步 -- 开发环境准备>,我们继续了解如何创建一个 Newbe.Claptrap 项目. 安装项目模板 打开控制台运行以下命令来安装 ...

  8. spring框架mvc框架_Spring的MVC测试框架入门–第1部分

    spring框架mvc框架 最新推出的主要Spring框架是Spring MVC测试框架,Spring Guys声称它是"一流的JUnit支持,可通过流畅的API测试客户端和服务器端Spri ...

  9. spring框架mvc框架_Spring MVC测试框架入门–第2部分

    spring框架mvc框架 这个迷你系列的第一个博客介绍了Spring MVC测试框架,并演示了其在单元测试Spring MVC Controller类中作为控制器而不是POJO进行单元测试的用途. ...

  10. Spring MVC测试框架入门–第1部分

    最新推出的主要Spring框架是Spring MVC测试框架,Spring Guys声称它是"一流的JUnit支持,可通过流畅的API测试客户端和服务器端Spring MVC代码" ...

最新文章

  1. flutter TextField 输入框被软键盘挡住的解决方案
  2. 【thymeleaf】 Link (URL) expressions: 使用 Link 表达式创建 URL
  3. 分享:游戏新手引导程序框架设计3要点
  4. 单片机小精灵t2_51单片机定时器T2初始化设置
  5. Goland 这些实操技巧,你可能还不会!
  6. 前端学习(2149):webpack之ES6到ES5的转换
  7. Item 添加事件 list grally等
  8. 公开课|百度天工物联网基础平台的微服务容器化落地实践
  9. C++ - 命名空间,argc和argv详解,游戏人生介绍
  10. java文件如何打包_java文件如何打包?
  11. 基于32×32点阵LED模块的书写显示屏
  12. 原子弹级别牛股发动机指标软件开发收获
  13. Ubuntu 16.04 4k屏高分辨率卡顿问题
  14. oracle为什么打开鼠标不见了,鼠标箭头突然不见了该怎么办呢?
  15. java中的NIO,BIO,AIO
  16. macd金叉不涨又死叉准确率_MACD金叉周线选股公式怎么设置及计算
  17. 转载:“技术支持工程师”薪资行情
  18. 计算机视觉中的传统特征提取方法总结
  19. odoo12 数据文件翻译
  20. sql注入基础(一)

热门文章

  1. mc pe linux服务器地址,我的世界手机版服务器地址大全 我的世界PE服务器IP和端口一览...
  2. 好程序员web前端培训分享JavaScript学习指南
  3. 计算机boot进入u盘启动,电脑boot设置U盘启动项具体方法
  4. 仿乐享微信源码分享---微信营销
  5. 谁说中国没有林纳斯,中国初代IT宗师的封神榜
  6. 解析kml文件,提取经纬度信息存入csv
  7. Drool学习记录(一) 概念、Helloworld
  8. 北京理工大学计算机考研真题,北京理工大学计算机专业基础历年考研真题汇编附答案...
  9. Trapcode Particular 4 for Mac(AE三维粒子插件)附序列号破解版
  10. 最新版本启动HBuilderX.exe时,被联想mcafee杀毒软件删除的解决方法