단위를 감상 할 수 있지만, 제품의 몇 가지 방법은 개인 방법 복잡한 로그인이있다.
최상의 해결 방법은 복잡한 논리에서 클래스를 추출하는 것입니다. 그런 다음 추출한 클래스를 개별적으로 테스트 할 수 있습니다.
Android의 Roboletric에서 어떻게 든 개인용 메서드를 반영하거나 호출 할 수 있습니까?
Method method = targetClass.getDeclaredMethod(methodName, argClasses);
method.setAccessible(true);
return method.invoke(targetObject, argObjects);
또는 어떤 라이브러리 :
당신이 해야 사용 반사 개인 방법을 테스트 할 경우 다음 Robolectric의 절차 정확히 반사를 사용하는 표준 JUnit 테스트에서와 동일 Roboletric과 비슷한 방법으로 개인적인 방법을 테스트 할 수 있습니까?
좋은 소프트웨어 엔지니어링 원칙을 깨는 데 도움이되는 라이브러리를 배우는 것이 아니라 Dagger 2와 같은 종속성 주입 프레임 워크를 배우는 것이 좋습니다. 이러한 DI 프레임 워크는 강력한 캡슐화를 통해 더 작은 클래스를 구축하는 데 도움이됩니다. 더 시험 가능하다. 그렇다면 처음부터 개인적인 방법으로 테스트해야하는 문제는 없습니다.
개인 방법 테스트에 도움이되는 도구 링크가 있습니다. this question