2017-04-21 3 views
0

単体テストのプライベートメソッドは適切ではないかもしれませんが、製品のメソッドの中にはプライベートメソッドの複雑なログインがあります。roboletric androidの単体テストプライベートメソッド

個人的な方法をテストするのに役立つroboletricに似たライブラリや、アンドロイドのroboletricのプライベートメソッドを何らかの形で反映または呼び出すことはできますか?

任意のヒントやヘルプをいただければ幸いですプライベートメソッドをテストする

答えて

1

ユニットは良い習慣ではないかもしれないが、製品にはいくつかの方法がプライベートメソッドで複雑なログインを持っています。

最高の解決策は、複雑なロジックからクラスを抽出することです。次に、抽出したクラスを個別にテストすることができます。

私は何とかAndroidのRoboletricでプライベートメソッドを反映したり呼び出すことはできますか?

あなたのプライベートメソッドをテストするためにあなた必見使用反射はその後、Robolectricの手順は、リフレクションを使用して、標準のJUnitテストと全く同じである場合:

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

、または任意のライブラリ個人的な方法のテストに役立つRoboletricに似ていますか?

むしろより良いアイデアがダガー2.このようなDIフレームワークのような依存性注入フレームワークを学ぶためにすることができ、優れたソフトウェアエンジニアリングの原則を破ることができますライブラリを学習している強力なカプセル化された小さなクラスを構築するお手伝いをしますよりテスト可能。それで、最初にテストするプライベートメソッドを持つという問題はありません。

プライベートメソッドのテストに役立つツールへのリンクがあります。this question

関連する問題