我试图测试在我的Android应用中调用一个简单的方法将启动另一项活动。 getNextStartedActivity
始终返回启动器活动。
以下是测试:
@Test
public void clickingButton_shouldStartNextActivity() throws Exception {
CurrentActivity activity = Robolectric.setupActivity(CurrentActivity.class);
activity.startNextActivity();
Intent expectedIntent = new Intent(activity, NextActivity.class);
assertEquals(expectedIntent, Shadows.shadowOf(activity).getNextStartedActivity());
}
这是CurrentActivity中的startNextActivity方法:
public void startNextActivity() {
startActivity(new Intent(this, NextActivity.class));
}
当我运行测试时,我获得LoginActivity(启动器活动)作为实际结果。这里是AndroidManifest.xml中的LoginActivity:
<activity
android:name=".LoginActivity"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>