don*_*uxx 12 junit android unit-testing kotlin
我尝试使用单元测试规则注释,Android Studio没有突出显示任何错误:
@Rule val htmlManager = HtmlManager()
Run Code Online (Sandbox Code Playgroud)
但是在执行测试后发生以下错误:
org.junit.internal.runners.rules.ValidationError:@Rule'htmlManager'必须是公开的.
如何解决这个问题?
don*_*uxx 29
解决方案是将@Rule注释应用于属性getter:
@get:Rule
val htmlManager = HtmlManager()
Run Code Online (Sandbox Code Playgroud)
更多细节:https://kotlinlang.org/docs/reference/annotations.html#java-annotations
看到这里我的开源项目固定测试用例代码:https://github.com/appham/Sharemarks/commit/310c115d5a820be900abc321cc061aeab7af2e5a#diff-5e1e851ef5b9bb333abb96dec3199a94
您也可以使用@JvmField注释
@Rule @JvmField 
val htmlManager = HtmlManager()
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           2786 次  |  
        
|   最近记录:  |