我收到 getMainLooper in android.os.Looper not mocked
异常。我已经添加了 InstantTaskExecutorRule
规则,但它仍然不适合我。
最佳答案
添加此类并在测试类顶部添加注释后即可正常工作。
@ExtendWith(InstantExecutorExtension::class)
class InstantExecutorExtension : BeforeEachCallback, AfterEachCallback {
override fun beforeEach(context: ExtensionContext?) {
ArchTaskExecutor.getInstance()
.setDelegate(object : TaskExecutor() {
override fun executeOnDiskIO(runnable: Runnable) = runnable.run()
override fun postToMainThread(runnable: Runnable) = runnable.run()
override fun isMainThread(): Boolean = true
})
}
override fun afterEach(context: ExtensionContext?) {
ArchTaskExecutor.getInstance().setDelegate(null)
}
}
关于android - 即使添加 InstantTaskExecutorRule 后,android.os.Looper 中的方法 getMainLooper 未被模拟仍然发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70560119/