searchManager.getSearchableInfo(getComponentName())仅在test中返回null

时间:2014-09-23 12:02:56

标签: android testing

我有一个正在测试的searchview活动, 一切都按预期工作,但测试失败。

@Override
protected void setUp() throws Exception {
    super.setUp();

    Intent intent = new Intent(getInstrumentation().getContext(),StartActivity.class);
    startActivity(intent, null, null);               
}


@SmallTest
public void testShouldCreateStartActivity() {
    assertNotNull(activity);
}    

由于searchManager.getSearchableInfo(activity.getComponentName())返回null,测试失败。

SearchManager searchManager = (SearchManager) activity.getSystemService(Context.SEARCH_SERVICE);
SearchableInfo searchableInfo = searchManager.getSearchableInfo(activity.getComponentName());

使用应用程序代码非常令人沮丧,但测试失败。

1 个答案:

答案 0 :(得分:0)

我将测试类从 ActivityUnitTestCase 更改为 ActivityInstrumentationTestCase2 现在它有效。

详细了解这些差异:

Difference between ActivityUnitTestCase and ActivityInstrumentationTestCase2