首页 > Java > java教程 > 如何使用 PowerMock 在 Mockito 中模拟私有方法?

如何使用 PowerMock 在 Mockito 中模拟私有方法?

Mary-Kate Olsen
发布: 2024-11-03 16:00:30
原创
282 人浏览过

How to Mock Private Methods in Mockito with PowerMock?

使用 PowerMock 在 Mockito 中模拟私有方法

使用私有方法测试类可能会带来挑战,特别是当这些私有方法的正确性是假定。解决此问题的一种解决方案是将 PowerMock 与 Mockito 结合使用。

要使用 PowerMock 模拟私有方法,请按照以下步骤操作:

  1. 创建间谍对象:使用 PowerMockito.spy() 创建要测试的类的间谍对象。
  2. 使用 PowerMockito.when(): 使用 PowerMockito 定义私有方法的行为。什么时候()。此方法采用三个参数:

    • 间谍对象
    • 方法匹配器(在本例中,method() 匹配器就足够了)
    • 要返回的行为当调用私有方法时

例如,以下代码模拟私有方法“doTheGamble”始终返回true:

<code class="java">CodeWithPrivateMethod spy = PowerMockito.spy(new CodeWithPrivateMethod());

when(spy, method(CodeWithPrivateMethod.class, "doTheGamble", String.class, int.class))
        .withArguments(anyString(), anyInt())
        .thenReturn(true);</code>
登录后复制
  1. 测试公共方法:最后,您可以使用您的间谍对象来测试调用私有方法的公共方法。

按照以下步骤,您可以有效地模拟私有方法使用 PowerMock 和 Mockito 进行测试的方法。

以上是如何使用 PowerMock 在 Mockito 中模拟私有方法?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板