在Java类中使用Kotlin注释类
我正在用Kotlin编写新特性,但有些东西已经用Java编写了 我正在在Java类中使用Kotlin注释类,java,android,kotlin,annotations,mockito,Java,Android,Kotlin,Annotations,Mockito,我正在用Kotlin编写新特性,但有些东西已经用Java编写了 我正在Mockito(Kotlin)中编写测试,但是Mockito的最终类有问题,所以我创建了: annotation class Mockable {} 并添加到渐变构建中: apply plugin: 'kotlin-allopen' allOpen { annotation('com.Mockable') } 因此,使用这个注释类,我可以模拟Kotlin类 如何在Java类中使用此注释?在Java中不需要它。但不
Mockito(Kotlin)
中编写测试,但是Mockito
的最终类有问题,所以我创建了:
annotation class Mockable {}
并添加到渐变构建中:
apply plugin: 'kotlin-allopen'
allOpen {
annotation('com.Mockable')
}
因此,使用这个注释类,我可以模拟Kotlin
类
如何在Java类中使用此注释?在Java中不需要它。但不管怎样,还有另一种方法可以将Mockito与Kotlin结合使用:
创建一个文件src/test/resources/mockito extensions/org.mockito.plugins.MockMaker,其中包含以下内容:
mock-maker-inline
这将改变模拟行为,使其也支持类似Kotlin类的final
类。对于一些Java类,我不得不在之后使用spy()
而不是mock()
。Java中不需要它。但不管怎样,还有另一种方法可以将Mockito与Kotlin结合使用:
创建一个文件src/test/resources/mockito extensions/org.mockito.plugins.MockMaker,其中包含以下内容:
mock-maker-inline
这将改变模拟行为,使其也支持类似Kotlin类的final
类。对于一些Java类,我不得不使用spy()
而不是mock()
如何在Java类中使用此注释
不能以这种方式使用此注释,因为kotlin allopen
仅适用于kotlin类。在Java中,不要将类标记为final
就这一点而言,在Kotlin中,如果我理解正确的话,它似乎也没有什么用处:Kotlin allopen
用于处理注释时,需要创建注释类型的子类,因此您需要编写open
以及注释。在这里,您可以编写open
,而不是@Mockable
如何在Java类中使用此注释
不能以这种方式使用此注释,因为kotlin allopen
仅适用于kotlin类。在Java中,不要将类标记为final
就这一点而言,在Kotlin中,如果我理解正确的话,它似乎也没有什么用处:
Kotlin allopen
用于处理注释时,需要创建注释类型的子类,因此您需要编写open
以及注释。在这里,您可以编写open
而不是@Mockable
我看到了此选项,但性能几乎慢了3倍我看到了此选项,但性能几乎慢了3倍您尝试过只使用@Mockable
吗?您尝试过只使用@Mockable
吗?