2017-04-21 2 views
0

단위 테스트 개인 메소드는 좋지 않을 수 있지만 제품의 메소드 중 일부는 개인 메소드에 복잡한 로그인을 가지고 있습니다.roboletric android의 단위 테스트 개인 메소드

우리는 어떻게 든 개인 정보를 테스트하는 데 도움이되는 roboletric과 비슷한 라이브러리를 안드로이드 또는 roboletric의 개인용 메소드를 호출하거나 호출 할 수 있습니까?

어떤 힌트 또는 도움을 크게 좋은 연습하지 않을 수 있습니다 개인 방법을 테스트

답변

1

단위를 감상 할 수 있지만, 제품의 몇 가지 방법은 개인 방법 복잡한 로그인이있다.

최상의 해결 방법은 복잡한 논리에서 클래스를 추출하는 것입니다. 그런 다음 추출한 클래스를 개별적으로 테스트 할 수 있습니다.

Android의 Roboletric에서 어떻게 든 개인용 메서드를 반영하거나 호출 할 수 있습니까?

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

또는 어떤 라이브러리 :

당신이 해야 사용 반사 개인 방법을 테스트 할 경우 다음 Robolectric의 절차 정확히 반사를 사용하는 표준 JUnit 테스트에서와 동일 Roboletric과 비슷한 방법으로 개인적인 방법을 테스트 할 수 있습니까?

좋은 소프트웨어 엔지니어링 원칙을 깨는 데 도움이되는 라이브러리를 배우는 것이 아니라 Dagger 2와 같은 종속성 주입 프레임 워크를 배우는 것이 좋습니다. 이러한 DI 프레임 워크는 강력한 캡슐화를 통해 더 작은 클래스를 구축하는 데 도움이됩니다. 더 시험 가능하다. 그렇다면 처음부터 개인적인 방법으로 테스트해야하는 문제는 없습니다.

개인 방법 테스트에 도움이되는 도구 링크가 있습니다. this question

관련 문제