簡體   English   中英

調用私有靜態void方法

[英]Calling a private static void method

我有一個private static void方法,即類EllaDtoConverter中的convertToIp ,它有一個私有構造函數。 如果我嘗試創建該類的實例,它會拋出異常。 代碼是提供的,

public final class EllaDtoConverter {

    private EllaDtoConverter() {
        throw new PrivateConstructorException();
    }

private static void convertToIp( final IrisBo irisBo, EllaRequestDto request ) {

        if( !isNull( irisBo.getDevice() ) ) {
            request.setIp( irisBo.getDevice().getIpAddress() );
        }
    }

    // ..... some code 
}

我可以創建IrisBoEllaRequestDto的實例並傳遞給方法。 我是否可以選擇從另一個類調用convertToIp方法(即使使用反射)?

junit標簽我假設您想知道是否可以測試該方法。

我建議你這篇文章基本上說你不應該自己測試私有方法(靜態或不靜態)。

主要想法是單元測試應該測試您的模塊正在暴露的合同,確保任何調用您的人都能得到您期望的內容,並且私有方法不是合同的一部分。

正如之前寫的@bracco23,您應該閱讀一篇關於測試私有方法的文章。 但是,如果您已經決定這樣做(鄙視測試它們所帶來的所有這些消極方面),那么有一個名為PowerMockito的特殊框架。 PowerMockito允許我們測試私有或靜態方法。

暫無
暫無

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

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