Kotlin JUnit规则
在Kotlin M13中,这是创建JUnit规则的可接受的方法:
@Rule @publicField val temp = TemporaryFolder()
既然@publicField
已经被弃用了,那么还能如何实现呢? IDE的提示建议用@publicField
替换@publicField
,但是不能再lateinit val
的,我不确定这会有帮助。
Kotlin 1.0的答案如下:
@Rule @JvmField val temp = TemporaryFolder()
@JvmField
使用与该属性相同的可见性公开后备字段,并使用JUnit规则使用的公共字段。
只是猜测,但以下可能工作(与var
):
@Rule lateinit var temp = TemporaryFolder()
我会试着问kotlin的懈怠http://t.co/xpQXUKaDvP目前这是解决任何问题的最快方法。
- 使用Kotlin中的方法为variables赋值一个新的值?
- Kotlin和Java String之间的差异与正则expression式分割
- Gradle 3.0.0-alpha1与kotlin-android插件1.1.2-3不兼容?
- Android:由于:MenuPopup,在此上下文中无法访问typesMenuPopup
- 参数个数未知的Lambdatypes
- 如何让Kotlin编译器将警告视为错误?
- Kotlin:如何在运行时在OneClass 中获得实际的genericstypesT.
- 无法转换为org.jetbrains.kotlin.java.model.types.JeClassInitializerExecutableTypeMirror
- 将库添加到Gradle Kotlin应用程序