使用jmockit进行mock测试:

1. @Mocked 声明mock的属性

2. new Expectations中声明mock的方法和mock返回值。

3. Deencapsulation 将mock的属性设置到测试target之中。

4. 发起target调用。

nullPointer问题出在第二步,在mock方法时,被@Mocked注解的属性为null,声明mock方法的时候就会抛出nullPointer异常。

initialize failed问题出在第一步,在Mocked的时候冒出初始化异常。

以上两个问题都是出在jmockit声明,晚于junit声明时出现。jmockit在maven依赖的声明顺序必须早于junit,否则就会出现问题。

如果maven声明的顺序中,jmockit本来就早于junit,那么可以排查IDE中实际引用的modules顺序。
macbook中的Intellij IDEA中,在Project Structure - ProjectSettings - Modules - Dependencies下进行配置。调整顺序,jmockit位于junit之前即可。

jmockit抛NullPointer异常,initialize failed异常相关推荐

  1. java抛出数组格式异常,Java中异常

    一.异常的概述 在Java中,把异常信息封装成了一个类.当出现了问题时,就会创建异常类对象并抛出异常相关的信息(如异常出现的位置.原因等). 二.异常的继承体系和错误的区别 1.异常的继承体系 Thr ...

  2. 客户端svn出现authorization failed异常

    客户端svn出现authorization failed异常 参考文章: (1)客户端svn出现authorization failed异常 (2)https://www.cnblogs.com/ox ...

  3. 在不丢失堆栈跟踪的情况下重新抛出Java中的异常

    在C#中,我可以使用throw; 保留堆栈跟踪时重新抛出异常的语句: try {... } catch (Exception e) {if (e is FooException)throw; } Ja ...

  4. # 自定义异常类 问题: 请使用代码实现 每一个学生(Student)都有学号,姓名和分数,分数永远不能为负数 如果老师给学生赋值一个负数,抛出一个自定异常

    自定义异常类 问题: 请使用代码实现 每一个学生(Student)都有学号,姓名和分数,分数永远不能为负数 如果老师给学生赋值一个负数,抛出一个自定异常 public class NoScoreExc ...

  5. Android ADT插件更新后程序运行时抛出java.lang.VerifyError异常解决办法

    当我把Eclipse中的 Android ADT插件从21.1.0更新到22.0.1之后,安装后运行程序抛出java.lang.VerifyError异常. 经过调查,终于找到了一个有效的解决办法: ...

  6. redhat 中安装rpm包时遇到异常 “error: Failed dependencies:xinetd is needed by .”

    redhat 中安装rpm包时遇到异常 "error: Failed dependencies:xinetd is needed by ." 参考文章: (1)redhat 中安装 ...

  7. Java实验7 五、JVM抛出一个OutOfMemoryError的异常

    题目要求 编写一个程序,它能导致JVM抛出一个OutOfMemoryError的异常,然后捕获并处理这个异常. 代码 public class JVM {public static void main ...

  8. Mac Mounty正常卸载方法(mount failed异常解决)

    Mac Mounty正常卸载方法(mount failed异常解决) tags: Mac ● 挂载失败 由于磁盘未正常卸载, 部分扇区被污染导致无法正常加载, 需进行磁盘修复: Windows系统下使 ...

  9. ElasticSearch排序引起的all shards failed异常

    前言 注:ElasticSearch版本为5.4. 在我们的日志系统里需要一些系统索引,这些系统索引在应用初始化的时候就会被添加到ElasticSearch中去,这些在ElasticSearch中的系 ...

最新文章

  1. 深入理解分布式缓存设计
  2. (六)Amazon Lightsail 部署LAMP应用程序之升级到Amazon EC2
  3. ARM中MMU的作用
  4. Python基础——PyCharm版本——第八章、文件I/O(XML)
  5. easybcd 支持 windows 10 和 ubuntu 14.04 双系统启动
  6. win2008 php mysql zend phpmyadmin_Windows2008 最新版Apache2.PHP5.MySQL6.PHPMyadmin.ZendOptimizer安装图解...
  7. linux下python开发工具_Python开发工具 Wing IDE
  8. 转 ajax.dll 与 ajaxpro.dll的用法
  9. 51php服务器稳不稳定,百度经验:两步搞定PHP-FPM优化,让服务器更平稳
  10. linux怎样删除定时任务,Linux(CentOS)使用定时任务删除Tomcat日志文件
  11. c++ while(condition) 中condition的一些思考
  12. [面试题]100层楼丢玻璃球,一旦超过某层就会破,你只有两个球。
  13. 一个程序员近20年工资单
  14. 软酷优计划java考试复习题_软酷题
  15. cad动态块制作翻转_CAD创建动态块实例教程:旋转参数和动作的应用 - CAD自学网...
  16. 华为公司官方指定的五种主流编程语言
  17. Facebook创始人原型电影《社交网络》票房夺冠
  18. N1文法「第1-第5」
  19. [BZOJ3669]-[Noi2014]魔法森林-LCT+并查集
  20. UI设计零基础学难吗?

热门文章

  1. 三维空间中的旋转--旋转向量
  2. 以太坊开发中ethers库的使用
  3. visio如何安装-示例教程
  4. 弘辽科技:拼多多关键词排名有什么用?有什么规则?
  5. Linux实战技巧--文件系统操作(四)--文本内容查看(cat/head/tail)
  6. keras指定gpu_Keras多GPU训练指南
  7. Ubuntu 22.04 LTS root登录、修改当前用户名和主机名
  8. JavaWeb基本概念与术语
  9. 常见股票代码开头说明大全
  10. 叶公好龙——存在与逻辑