【发布时间】:2018-02-04 22:57:53
【问题描述】:
我想为我的自定义 Application 类编写一些单元测试,但是在我尝试创建 Application 对象后我的测试立即失败,出现此错误:
java.lang.RuntimeException: Stub!
at android.content.Context.<init>(Context.java:20)
at android.content.ContextWrapper.<init>(ContextWrapper.java:21)
at android.app.Application.<init>(Application.java:36)
...
这是我的Application 班级:
class MainApplication : Application() {
@Inject lateinit var statLogger: StatLogger
override fun onCreate() {
super.onCreate()
inject()
setupStatLogger()
}
private fun inject() {
...
}
private fun configStatLogger() {
statLogger.config()
}
}
这是我的测试:
class MainApplicationTest {
val app = MainApplication().apply {
statLogger = mock()
}
@Test
fun `logger is configured`() {
app.onCreate()
verify(app.statLogger).config()
}
}
【问题讨论】:
标签: android unit-testing kotlin mockito android-testing