[英]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
}
我可以創建IrisBo
和EllaRequestDto
的實例並傳遞給方法。 我是否可以選擇從另一個類調用convertToIp
方法(即使使用反射)?
從junit
標簽我假設您想知道是否可以測試該方法。
我建議你這篇文章基本上說你不應該自己測試私有方法(靜態或不靜態)。
主要想法是單元測試應該測試您的模塊正在暴露的合同,確保任何調用您的人都能得到您期望的內容,並且私有方法不是合同的一部分。
正如之前寫的@bracco23,您應該閱讀一篇關於測試私有方法的文章。 但是,如果您已經決定這樣做(鄙視測試它們所帶來的所有這些消極方面),那么有一個名為PowerMockito的特殊框架。 PowerMockito允許我們測試私有或靜態方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.