0

我正在尝试测试在我的 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>
4

0 回答 0