ユニットテストルールのアノテーションを使用しようとしましたが、Android Studioはここでエラーを強調表示しませんでした:
@Rule val htmlManager = HtmlManager()
ただし、テストの実行後、次のエラーが発生します。
org.junit.internal.runners.rules.ValidationError:@ Rule'htmlManager 'はパブリックである必要があります。
これを修正する方法は?
解決策は、@ Ruleアノテーションをプロパティゲッターに適用することです。
@get:Rule
val htmlManager = HtmlManager()
詳細はこちら: https://kotlinlang.org/docs/reference/annotations.html#Java-annotations
私のオープンソースプロジェクトで修正されたテストケースコードを参照してください: https://github.com/appham/Sharemarks/commit/310c115d5a820be900abc321cc061aeab7af2e5a#diff-5e1e851ef5b9bb333abb96dec3199a94
@JvmField
アノテーションを使用することもできます
@Rule @JvmField
val htmlManager = HtmlManager()