Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java类中使用Kotlin注释类_Java_Android_Kotlin_Annotations_Mockito - Fatal编程技术网

在Java类中使用Kotlin注释类

在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中不需要它。但不

我正在用Kotlin编写新特性,但有些东西已经用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
吗?