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目前这是解决任何问题的最快方法。