【发布时间】:2020-05-16 09:33:49
【问题描述】:
我一直在尝试将我的 Robolectic 测试用例转移到 Android X Test。我已按照文档进行操作,但无法通过 Activity Scenario Launch API 启动活动。
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。
java.lang.IllegalStateException:无法移动到状态“已创建”,因为 Activity 已经被销毁了
当我用 Robolectric 尝试相同的代码时。它工作正常并调用所有生命周期。 oncreate 、 onstart 和 onResume。
protected void setupActivity() {
activityController = Robolectric.buildActivity(VisitorExemptionActivity.class).setup();
activityController.get();
}
以上代码调用所有生命周期。
请你解释一下我做错了什么。
提前致谢。
【问题讨论】:
标签: java android android-studio testing