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

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

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-03 16:00:30283瀏覽

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>
測試公用方法:

最後,您可以使用您的間諜物件來測試呼叫私有方法的公用方法。

按照以下步驟,您可以有效地模擬私有方法使用 PowerMock 和 Mockito 進行測試的方法。

以上是如何使用 PowerMock 在 Mockito 中模擬私有方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn