我是 Android 开发的新手,目前,我正在使用 Roboelectric 和 Koin 测试一项基本活动。
代码:
class SplashActivity : AppCompatActivity() {
private val viewModel: LoginViewModel by viewModel()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_splash)
Stetho.initializeWithDefaults(this)
val user = viewModel.getPersistedUser()
if (user != null) {
viewModel.setUser(user)
startActivity(HomeActivity.getStartIntent(this))
} else {
startActivity(LoginActivity.getStartIntent(this))
}
}
}
val appModule = module(override = true) {
...
viewModel<LoginViewModel>()
}
现在我在测试中要做的就是注入一个模拟版本的 viewModel 来模拟方法 getPersistedUser 的响应。
我如何使用 Roboelectric 和 Koin 做到这一点?