【问题标题】:Mocking a concrete class using EasyMock使用 EasyMock 模拟一个具体的类
【发布时间】:2009-08-08 16:47:37
【问题描述】:

是否可以使用 EaskMock 模拟具体类?如果是这样,我该怎么做?

【问题讨论】:

    标签: java easymock


    【解决方案1】:

    请参阅EasyMock Class Extension 文档和download it from the SourceForge project。但是你不能模拟 final 方法。

    编辑:如 cmets 所述,这现在是适用于 v3 及更高版本的 EasyMock 的一部分。

    【讨论】:

    • 应该注意的是,新版本的 EasyMock (>= 3.0) 包括这个扩展,正如 Mike Partridge 在另一个答案中指出的那样。
    • @Zoltán:谢谢,注意到了。
    【解决方案2】:

    Powermock 扩展了 EasyMock 并允许您模拟具体类型,甚至是最终方法和静态方法。

    PowerMock 是一个框架,它以更强大的功能扩展了 EasyMock 等其他模拟库。 PowerMock 使用自定义类加载器和字节码操作来模拟静态方法、构造函数、最终类和方法、私有方法、删除静态初始化器等等。

    【讨论】:

      【解决方案3】:
      【解决方案4】:

      从 v3.0 开始,EasyMock 类扩展已集成到 EasyMock;见the release notes

      【讨论】:

        【解决方案5】:

        创建模拟时,只需使用 EasyMock 类的 org.easymock.classextension 版本。结果将是可转换的。

        这是最近的链接 - http://easymock.org/EasyMock3_2_ClassExtension_Documentation.html

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-12-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多