Mockito 2.x 向 PowerMock 迁移:十大技巧和诀窍

主要观点:经过多年无望的等待,mockito 2.x 已发布以解决开发者在测试中遇到的许多问题,但从 mockito 1.x 迁移到 2.x 可能是痛苦的任务,因为 2.x 不尊重 1.x 的旧行为,且与 powermock 的某些版本存在集成问题。文中提供了 10 个在迁移过程中可能遇到的重要挑战及应对技巧。
关键信息:

  • mockito 2.x 的特点,如可模拟 final 类和方法、支持 java 8、从 cglib 迁移到 bytebuddy。
  • 迁移过程中可能遇到的问题,如大量测试失败(空指针异常、编译错误等)、与 powermock 集成问题、mockito 白盒功能移除等。
  • 应对技巧,如使用正确的 powermock mockito api 扩展powermock-api-mockito2、避免使用不兼容的 mockito 和 powermock 版本、用 powermock 的白盒替代 mockito 2.x 的白盒(若初始方案不行则自己编写)、使用正确的匹配器(如org.mockito.argumentmatchers)、将 anyint()替换为 anylong()、anystring()不再匹配 null 等、mockito 2.7.1 与 powermock 的兼容性问题及解决办法、原始测试异常在 mockito 2.x 与 powermock 中被包装为 runtimeexceptionproxy 需修改测试注解、尝试移除 powermock 依赖仅依赖 mockito 2.x、审查旧测试以提高可维护性。
    重要细节:文中详细介绍了每个技巧的具体情况及相关代码示例,如不同版本的兼容性问题、具体的异常信息等。
阅读 1
0 条评论