我一直在尝试将Robolectic测试用例移至Android X Test。我已经阅读了文档,但是无法通过“Activity 场景启动API”启动 Activity 。

https://developer.android.com/reference/androidx/test/core/app/ActivityScenario

http://robolectric.org/androidx_test

protected void setupActivity() {
      ActivityScenario<VisitorExemptionActivity> scenario = ActivityScenario.launch(VisitorExemptionActivity.class);
        scenario.moveToState(Lifecycle.State.CREATED);// Activity destroyed before reaching to this point.
}

上面的代码除了onStart之外没有调用任何Android生命周期,抛出以下异常并立即销毁了 Activity 。



当我用Robolectric尝试相同的代码时。它工作正常,并调用所有生命周期。 oncreate,onstart和onResume。
protected void setupActivity() {
activityController = Robolectric.buildActivity(VisitorExemptionActivity.class).setup();
activityController.get();
}

上面的代码调用了所有生命周期。

请您能告诉我我做错了什么。

提前致谢。

最佳答案

您可以注释掉“scenario.moveToState(Lifecycle.State.CREATED);”吗?并尝试执行测试?
默认情况下,launch(...)将使 Activity 处于RESUMED状态,用户可以在其中与该 Activity 进行交互。

10-06 15:01