【发布时间】:2020-04-03 20:54:30
【问题描述】:
我正在尝试为我的 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>(...) 但我不知道实际的类型应该是什么。
任何帮助将不胜感激。
编辑 我正在关注 roboloctric guideline 但试图以 androidX 方式编写它
【问题讨论】:
标签: android unit-testing kotlin compiler-errors robolectric