2

Eclipse에서 Android 계측 도구 및 Android JUnit을 통해 Android 활동에 모의 인 텐트를 보내려고합니다.Android 활동에 여러 모의 의도를 보내는 테스트를 자동화하려면 어떻게해야합니까?

나는 성공적으로 ActivityIntent를 보내는 테스트를 만들 수 있어요,하지만 난 연속 Intents 그래서 내가 "추가"로 넣어 데이터를 여러 조각으로 Activity을 테스트 할 수 있습니다이 문제를 자동화하고 여러 보내려면 Intent.

public class SearchTest extends ActivityInstrumentationTestCase2<SearchResults> { 

    private ListActivity mActivity; 
    private ArrayList<String> testManifest = new ArrayList<String>(); 
    TextView tv; 


    public SearchTest() { 
     super("org.fdroid.fdroid", SearchResults.class); 
    }//SearchTest 

    @Override 
    protected void setUp() throws Exception{ 
     setUpTestManifest(); 
     super.setUp(); 
     setActivityInitialTouchMode(false); 
     Intent i = new Intent(Intent.ACTION_SEARCH); 
     i.setClassName("org.fdroid.fdroid", "org.fdroid.fdroid.SearchResults"); 
     i.putExtra(SearchManager.QUERY, testManifest.get(0)); 
     setActivityIntent(i); 
     mActivity = getActivity(); 
     tv = (TextView) mActivity.findViewById(R.id.description); 
    }//setUp 

    public void testSearchResult(){ 
     assertTrue(mActivity.getListView().getCount() > 0); 
    }//testSearchResult 

    public void setUpTestManifest(){ 
     //populate the test manifest 
     testManifest.add("Sample Key Word 1"); 
     testManifest.add("Sample Key Word 2"); 
     testManifest.add("Sample Key Word 3"); 
    }//setupManifest 

}//SearchTest 

어떻게 내가 testManifest에있는 항목의 수백 및 해당 항목 각각에 대한 의도 및 테스트를 만들 수 있습니다이 작업을 할 수 있습니다 다음과 같이 (하나의 의도 작동) 내 코드는?

+0

당신이 ... 울부 짖는 소리 답이 큰 일을 당신이 ... –

답변

5

setUp 코드에서 활동 시작과 테스트 메소드 내의 루프를 풀어 보았습니까? 예,

protected void setUp() { 
    setUpTestManifest(); 
    super.setUp(); 
} 

public void testSearchResult(){ 
    for (String query : testManifest) { 
     setActivityInitialTouchMode(false); 
     Intent i = new Intent(Intent.ACTION_SEARCH); 
     i.setClassName("org.fdroid.fdroid", "org.fdroid.fdroid.SearchResults"); 
     i.putExtra(SearchManager.QUERY, query); 
     setActivityIntent(i); 
     mActivity = getActivity(); 
     tv = (TextView) mActivity.findViewById(R.id.description); 
     assertTrue(mActivity.getListView().getCount() > 0); 
     mActivity.finish(); // close the activity 
     setActivity(null); // forces next call of getActivity to re-open the activity 
    } 
} 

-Dan

+0

찾고 어떤 경우에는 우리가 알고 감사 할 수 있다면 좋을 것입니다! –

+0

이것은 멋지다 !!! –

관련 문제