Android getActionBar()在设备/模拟器上运行良好,但在测试用例中返回null
应用程序支持Android getActionBar()在设备/模拟器上运行良好,但在测试用例中返回null,android,android-actionbar,android-testing,Android,Android Actionbar,Android Testing,应用程序支持minSdk=14,并且在每个活动上都有ActionBar 应用程序运行时间很长,在每个活动上显示ActionBar。现在我正在编写AndroidJUnitTestcases,但它在线提供了NullPointException 底线是getActionBar()在设备上工作,但在测试用例期间返回null。如果我删除该行,那么测试用例就可以了 下面是活动的样子 //下面还有其他东西 } JUnits是没有任何框架的简单Android JUnit测试用例 第176行是getActio
minSdk=14
,并且在每个活动上都有ActionBar
应用程序运行时间很长,在每个活动上显示ActionBar
。现在我正在编写AndroidJUnit
Testcases
,但它在线提供了NullPointException
底线是getActionBar()
在设备上工作,但在测试用例期间返回null
。如果我删除该行,那么测试用例就可以了
下面是活动的样子
//下面还有其他东西
}
JUnits
是没有任何框架的简单Android JUnit测试用例
第176行是getActionBar().setDisplayHomeAsUpEnabled(true)代码>getActionBar()可能在此处返回null。标题必须是可见的,确保没有类似的内容:
android:theme="@android:style/Theme.Black.NoTitleBar
这将导致getActionBar()中的错误为null 我不知道。我有@android:style/Theme.Holo.Light.DarkActionBar主题。我确实看到了ActionBar,只是JUnit测试用例中没有,它是空的。你看到了吗?是的,我确实读过几遍。在使用本机ActionBar测试活动之前从未遇到过问题。你解决了这个问题吗?@Kolchuga没有。我没有。@Sharj是你的活动扩展活动,还是其他类似FragmentActivity或ActionBarSherlock的东西?@IgorGanapolsky它扩展了活动。
}
public class OrderActivityTest extends ActivityUnitTestCase<OrderActivity> {
private OrderActivity activity;
public OrderActivityTest() {
super(OrderActivity.class);
}
protected void setUp() throws Exception {
super.setUp();
Intent intent = new Intent(getInstrumentation().getTargetContext(),OrderActivity.class);
startActivity(intent, null, null);
activity = getActivity();
}
public void testPreConditions() {
assertTrue(activity != null);
}
}
java.lang.NullPointerException
at com.example.name.OrderActivity.onCreate(OrderActivity.java:176)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.test.ActivityUnitTestCase.startActivity(ActivityUnitTestCase.java:158)
at com.example.name.test.OrderActivityTest.setUp(OrderActivityTest.java:23)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)
android:theme="@android:style/Theme.Black.NoTitleBar