Как внедрить смоделированную ViewModel в тест RoboElectric с помощью Koin - PullRequest
0 голосов
/ 01 мая 2019

Я довольно новичок в разработке для 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?

...