2017-04-21 86 views
0

單元測試私有方法的私有方法可能不是很好的做法,但在產品的一些方法在私有方法複雜的登錄。單元測試roboletric安卓

我們能否以某種方式反映或撥打roboletric私有方法類似roboletric Android或任何庫這有助於測試私有方法?

任何提示或幫助將不勝感激

回答

1

單元測試私有方法可能不是很好的做法,但在產品的一些方法在私有方法複雜的登錄。

最好的解決辦法是從複雜的邏輯中提取的類。然後,您提取的課程可以單獨進行測試。

我們能以某種方式反映或調用Android中的Roboletric中的私有方法嗎?

如果必須使用反射來測試你的私有方法,然後在Robolectric的程序是完全一樣在使用反射標準JUnit測試:

Method method = targetClass.getDeclaredMethod(methodName, argClasses); 
method.setAccessible(true); 
return method.invoke(targetObject, argObjects); 

或任何庫與幫助測試私有方法的Roboletric相似?

,而不是學習庫,有助於打破良好的軟件工程的原則,更好的想法可能是學習依賴注入框架像匕首2.此類DI框架將幫助您與強大的封裝性是建立小班更可測試。那麼你就不會有首先有私人測試方法的問題。

有一些工具鏈接可以幫助測試私人方法的答案this question