簡體   English   中英

模擬來自正在測試的同一類的void方法

[英]Mocking a void method from the same class that is being tested

我正在嘗試使用嘲笑和powermockito測試一個方法,此方法內部調用一個返回void的方法,我想模​​擬這個方法,因為我不在乎該方法的結果。 我一直在嘗試此方法,但找不到解決方案,請對此提供幫助。

我嘗試使用powermockito作為

SearchProcedureCodeControllerBean mock = mock(SearchProcedureCodeControllerBean.class);
PowerMockito.doNothing().when(mock).setErrorMessage((String)anyObject(), Mockito.anyList().toArray(), (String)anyObject(), (String)anyObject());

setErrorMessage是void方法,此方法的簽名如下

public void setErrorMessage(String errorName, Object[] arguments,
            String messageBundle, String componentId) {
}

您只能對模擬對象的方法進行存根。 測試對象絕對不會被嘲笑。 使用Power Mockito,您可以對靜態方法進行存根處理,而不是您的情況。 如果您不關心方法的行為,則可以像這樣保留它。 它是無效的,所以從根本上來說沒關系。 如果這樣做,並且您想抑制它的影響,那將意味着真正的問題出在設計上,因為被測類承擔了太多責任。 將方法提取到另一個類,然后對其進行模擬。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM