• PowerMock简介


        PowerMock

        写单元测试可能有些难。有时仅仅为了可测试性的目标而不得不牺牲好的设计。通常可测试性和好的测试之间是一致的,但是并不总是如此。比如,由于现存框架的限制,final classes、methods不能被使用,private methods有时需要被保护或者没有必要移到协作者内(collaborator),static methods应当被完全避免等等。

        PowerMock是一个扩展了其他mock libraries(比如EasyMock)的框架,拥有更强大的功能。PowerMock使用一个定制的classloader和字节码操作(bytecode manipulation)使模拟static methods,constructors,final class、methods,private methods,移除静态初始化器以及更多内容变得可能。使用定制的classloader,不需要对IDE或连续集成服务器做任何改变,简化了接受(adoption)。熟悉受支持的mock框架的开发者将会发现PowerMock很容易使用,因为所有的期望API对于static methods和constructors都是一样的。PowerMock打算使用少量的方法和注释来扩展现有的API,以启用额外的特性。目前PowerMock支持EasyMock和Mockito。

        当写单元测试时,绕过封装通常是有作用的。因此PowerMock包含几个特性,简化了对测试特别有用的反射。这使得访问内部状态变得简单,同时也简化了部分和私有模拟。(partial and private mocking)

        请注意PowerMock主要是为了给具有专业知识的人做单元测试的。把它放在初级开发人员的手中产生的坏处可能比好处还多。

     

  • 相关阅读:
    selenium修改浏览器配置
    用selenium+浏览器的performance log
    UI自动化录制工具
    Lftp+Sftp传输总结
    lftp使用简要说明
    MySQL 官方出品,比 mydumper 更快的多线程逻辑备份工具MySQL Shell Dump & Load
    XtraBackup 搭建从库的一般步骤及 XtraBackup 8.0 的注意事项
    lamba: lamba变量申明
    ubuntu 增加 用户
    Java云原生Micronaut Quarkus SpringNative
  • 原文地址:https://www.cnblogs.com/niaomingjian/p/4978939.html
Copyright © 2020-2023  润新知