(activity as HomeActivity).javaClass == HomeActivity::class.java
Run Code Online (Sandbox Code Playgroud)
退货false.为什么?注意,activity使用以下函数进行模拟
fun set(activity: KClass<out Activity>) {
this.activity = Mockito.mock(activity.java)
}
Run Code Online (Sandbox Code Playgroud)
您可能想要使用:
if(activity is HomeActivity) 代替 (activity as HomeActivity).javaClass == HomeActivity::class.java
原因是Mockito.mock(HomeActivity.java)将动态地创建这一个类实现 HomeActivity利用 SomeFooMockitoImpl.class它获取HomeActivity.class作为参数来创建嘲笑实例.
你可以检查运行时模拟对象将是这样的:
HomeActivity$$EnhancerByMockitoWithCGLIB$$b8254f54
及其实际的类名:
activity.javaClass.simpleName(应该SomeFooMockitoImpl)
| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |