Dan*_*rgo 2 junit instrumentation android automated-tests android-intent
我试图通过Android中的Android检测工具和Android JUnit将模拟意图发送到Android活动.
我能够成功地创建一个测试,发送一个Intent
到Activity
,但我想这个自动发送若干个连续Intents
这样我就可以测试Activity
中放置了作为一个"额外"的许多数据Intent
.我的代码(适用于单个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
Run Code Online (Sandbox Code Playgroud)
如何在我可以拥有数百个项目的地方testManifest
创建一个Intent并测试每个项目?
您是否尝试从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
}
}
Run Code Online (Sandbox Code Playgroud)
-担
归档时间: |
|
查看次数: |
2463 次 |
最近记录: |