Robolectric getNextStartedActivity始终返回启动器活动

时间:2015-10-19 22:48:47

标签: android robolectric robolectric-gradle-plugin

我试图测试在我的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>

0 个答案:

没有答案