【发布时间】:2021-05-31 14:21:10
【问题描述】:
我正在尝试对从视图扩展的类进行单元测试,但由于在父类中的某个时刻,它正在尝试使用实际上为空的Looper.getMainLooper().thread,因此我得到了一个空指针异常。在试图理解为什么视图初始化失败并抛出 NPE 之后,我注意到这似乎是因为 Looper.getMainLooper()。我应该如何为检查主循环器的视图编写单元测试,以及在 MockitoJUnitRunner 上执行的测试在哪里执行?
代码示例:
@RunWith(MockitoJUnitRunner::class)
@Test
fun `my test`(){
val looper = Looper.getMainLooper()
val myView = MycustomView(x,y,z)
}
【问题讨论】:
-
有什么想法吗?
-
如果视图变得更难测试,那么考虑一下它是否做得太多可能是个好主意。这听起来像是控制器/演示者/其他东西应该做的事情,然后您可以在自己创建时将 Looper 注入该对象。
标签: android unit-testing kotlin junit mockito