Androidx测试-如何在调用onCreate之前设置activity属性
我有这样一个活动结构:Androidx测试-如何在调用onCreate之前设置activity属性,android,testing,android-jetpack,Android,Testing,Android Jetpack,我有这样一个活动结构: class MyActivity : AppCompatActivity() { lateinit var model: MyModel override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_layout) if (!this::model.isInitial
class MyActivity : AppCompatActivity() {
lateinit var model: MyModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_layout)
if (!this::model.isInitialized) {
model = MyModel.newInstance(this)
}
model.functionToCall()
}}
我想用mock作为模型来测试我的活动。
在Androidx测试之前,我使用Robolectric(ActivityBuilder
)创建MyActivity的实例,并使用mock设置模型属性。在每个测试中,我都使用ActivityBuiler.setup()
启动活动生命周期
通过Androidx测试我尝试使用ActivityScenario
或ActivityTestRule
,但在此类开始活动生命周期之前,无法设置模型属性
在调用onCreate之前,如何使用Androidx测试设置MyActivity.model
属性和mock?我不能使用Androidx测试
谢谢看看ActivityLifecycleMonitor。您可以注册回调以在活动进入onCreate状态之前获得通知。
不幸的是,如果我们可以将
Lifecycle::State
设置为ActivityScenario。启动
参数,我们可以传递INITIALIZED
并在调用完成生命周期之前管理活动。我面临同样的问题。。有解决办法吗?