首页 > 解决方案 > mockito & powermock & powermockito 之间有什么联系和区别?

问题描述

研究了mockito测试框架,也学习了powermock,但是突然发现一个叫powermockito的框架,看不懂了。

谁能告诉我这三个测试工具之间的区别?

标签: mockito

解决方案


  1. Mockito 是市场标准的模拟框架,味道非常好。它提供了许多功能,如模拟、存根、验证方法调用等。在以前的版本中,它没有提供模拟私有或静态方法的可能性(以下是解释原因:https ://github.com/mockito/mockito/ wiki/Mockito-And-Private-Methods)。比真正有帮助的是
  2. Powermock 使用自定义类加载器和字节码操作来模拟静态方法、构造函数、最终类和方法、私有方法、删除静态初始化程序等。但是当您必须使用 Powermock 时,您的应用程序设计可能很差
  3. 我从未使用过 PowerMockito,但它是 PowerMock 的扩展 API 以支持 Mockito。它提供了以一种简单的方式使用 Java 反射 API 的功能,以克服 Mockito 的问题,例如缺乏模拟最终、静态或私有方法的能力。

但是现在(从 mockito 3.4 开始)有可能模拟静态方法——而不是 PowerMock 的使用受到限制。这是一篇关于它的不错的博客文章https://tech.cognifide.com/blog/2020/mocking-static-methods-made-possible-in-mockito-3.4.0/


推荐阅读