私は 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 でそれを行うにはどうすればよいですか?