@Rule> должен быть public ValidationError в тесте Kotlin Junit

Я попытался использовать аннотацию правила модульного теста, и 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

Intereting Posts
Невозможно использовать string.contains () в выражении kotlin `when` Частный конструктор в Котлине Написание реагирует на родной модуль Android в Котлине? 0xFF0000FF Целочисленный литерал не соответствует ожидаемому типу kotlin.Int Создание runnable / uber jar с maven из проекта, смешанного с Java и Kotlin Kotlin – Ограничить расширение метода расширения Как получить данные из базы данных Firebase с помощью Kotlin? Объединение / объединение классов данных в Котлин Есть ли лучший способ декодировать html прямо на Android? Неразрешенная ссылка: sun.misc.MessageUtils.where Объединение всех стандартных и пользовательских десериализаторов Джексона в универсальный десериализатор свойств Кинжал 2, вводящий представление модели активности в фрагмент RxJava2 Может быть возвращено пустое Наблюдаемое, если ни один элемент С плагином «kotlin-kapt», Android Studio не дает конкретных ошибок в отношении Dagger 2 Каков самый простой способ получить потокобезопасное свойство в Котлин?