Я пытаюсь отправить фиктивные намерения в активность Android с помощью инструментальных средств Android и Android JUnit в Eclipse.
Я могу успешно создать тест, который отправляет один Intent
на Activity
, но я хочу автоматизировать это и отправить несколько последовательных 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
и создавать Намерение и тестировать для каждого из этих элементов?