2013-09-05 2 views
1

로보 티움 단위 테스트에서 프래그먼트에 대한 참조를 얻으려면 어떻게해야합니까? 제 경우에는 조각품이 WebView를 보관하고 있습니다. 프래그먼트에 대한 참조를 얻기 위해 솔로를 사용하고 싶습니까? 어떻게 할 수 있습니까? btw, 나는 투표를하지 않고 응답없이 전에 3 개의 robotium/android 질문을했습니다! 테스트를 게을리하지 마십시오. 최소한 질문의 가치를 부여하십시오.유닛/로봇 테스트에서 조각을 참조하려면 어떻게합니까?

+0

말하십시오. – TestBest

답변

3

잠시 동안 나는 로보슘 (그리고 SO)에서 멀리 떨어져 있었지만, 로보니움은 조각을 얻는 방법이 없기 때문에 다음과 같이 할 수있었습니다. 당신은 당신이 찾아 낼 따르는 경우 다음

Activity current = solo.getCurrentActivity(); 

당신이 Android activity API을 통해 보면 당신이 그것을 알 수는 방법 getFragmentManager을 (가)와 :

첫 번째 단계는 쉽게 충분하다 현재 활동이 필요하다 findFragmentByXXX()라는 메서드;

이렇게 코드된다 :..

조각 조각 solo.getCurrentActivity =() getFragmentManager() findFragmentByID (XXX);

그러면 조각을 갖게됩니다!

잠재적으로 한 가지 문제가 있습니다. 일부 활동에는 getFramentManager() 메소드가 없으므로 대신 getSupportFragmentManager() 메소드가 작동하지만 이전 장치에 대한 조각 지원을 제공하므로 하나만 사용해야 할 수도 있습니다 또는 다른. 둘 다 지원해야하는 경우 불행히도 호출 할 메소드를 결정하기 위해 일부 리플렉션을 수행해야합니다.