我有一个像这样的活动构造:
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()
}}
我想用模拟作为模型测试MyActivity。
在 Androidx测试之前,我使用 Robolectric (ActivityBuilder
)创建MyActivity的实例并使用模拟设置模型属性。在每个测试中,我都以ActivityBuiler.setup()
开始活动生命周期。
使用 Androidx测试,我尝试使用ActivityScenario
或ActivityTestRule
,但是在此类开始活动生命周期之前,无法设置模型属性 >
在调用onCreate之前,如何使用 Androidx测试通过 mock 设置MyActivity.model
属性?我不能使用Androidx测试吗?
谢谢
答案 0 :(得分:0)
看看ActivityLifecycleMonitor。您可以注册一个回调以在活动进入onCreate状态之前获得通知。 https://developer.android.com/reference/androidx/test/runner/lifecycle/ActivityLifecycleMonitor