@Rule>在Kotlin Junit测试中必须是公共的ValidationError

我试图使用unit testing规则注释,Android Studio没有突出显示任何错误:

@Rule val htmlManager = HtmlManager() 

然而在执行测试之后,发生以下错误:

org.junit.internal.runners.rules.ValidationError:@Rule“htmlManager”必须是公共的。

如何解决这个问题?

解决方法是将@Rule注释应用于属性getter:

 @get:Rule val htmlManager = HtmlManager() 

更多细节在这里: https : //kotlinlang.org/docs/reference/annotations.html#java-annotations

请参阅我的开源项目中的固定测试用例代码: https : //github.com/appham/Sharemarks/commit/310c115d5a820be900abc321cc061aeab7af2e5a#diff-5e1e851ef5b9bb333abb96dec3199a94