Я пытаюсь написать несколько тестов для моего android приложения, и это действительно сложно для меня. Одной из многих препятствий является эта ошибка
Type inference failed: Not enough information to infer parameter T in fun <T : Context!> getApplicationContext(): T! Please specify it explicitly.
, которая возникает в этой строке
val actualIntent: Intent = shadowOf(ApplicationProvider.getApplicationContext())
.nextStartedActivity
Полный тестовый код выглядит следующим образом
@Test
fun clickingLogin_shouldStartLoginActivity() {
val scenario = launch(LogInActivity::class.java)
scenario.onActivity { activity ->
activity.go_to_register_button.performClick()
val expectedIntent = Intent(activity, RegistrationActivity::class.java)
val actual: Intent = shadowOf(ApplicationProvider.getApplicationContext())
.nextStartedActivity
expectedIntent.component shouldBeEqualTo actual.component
}
}
В основном функция shadowOf имеет вид перегружен и может вернуть много мыслей и мне нужно указать тип.
Я считаю, что это должно быть что-то вроде shadowOf<SomeType>(...)
Но я понятия не имею, каким должен быть фактический тип.
Любая помощь будет очень признательна.
РЕДАКТИРОВАТЬ Я следую указаниям roboloctri c , но пытаюсь написать это способом androidX