Я не могу использовать Kotlin для Serenity-bdd

Я пытаюсь использовать kotlin для своих тестов с рамой безмятежности, но это не работает, например

public class EndUserSteps { var dictionaryPage: DictionaryPage = null!! @Step fun enters(keyword: String) { dictionaryPage.enter_keywords(keyword) } @Step fun starts_search() { dictionaryPage.lookup_terms() } @Step fun should_see_definition(definition: String) { assertThat(dictionaryPage.definitions, hasItem(containsString(definition))) } @Step fun is_the_home_page() { dictionaryPage.open() } @Step fun looks_for(term: String) { enters(term) starts_search() } } 

Другой код написан на Java!

output: (net.serenitybdd.core.exceptions.StepInitialisationException: не удалось создать библиотеку шагов для EndUserSteps: не может подкласс класса класса класса ru.tinkoff.atesting.steps.serenity.EndUserSteps)

можешь мне помочь? Есть идеи?

В классах Kotlin не разрешают подклассы по умолчанию (эквивалент final Java). Чтобы разрешить подклассу, вам нужно пометить их как open . ( open class X )

Открытая аннотация в классе противоположна финалу Java: она позволяет другим наследовать от этого класса. По умолчанию все классы в Котлине являются окончательными, что соответствует Эффективной Java, Пункт 17: Дизайн и документ для наследования, или же запретить его. – Kotlin docs

Intereting Posts
Возвращение null от fun в kotlin Kotlin не будет создавать файлы классов Ошибка: не удалось найти или загрузить основной класс в intelliJ IDE Котлин || Не удалось добавить библиотеку в Мое приложение? Есть ли способ сделать ящик с тремя состояниями? Запросы Firebase никогда не заканчиваются на Android AutoValue с GsonTypeAdapter в Котлине Как связать кнопку с веб-сайтом в студии android с помощью kotlin kotlin-runtime.jar не существует Не удалось запустить программу Kotlin в терминале Методы доступа за пределами объекта-компаньона – Котлин Управление объектами в рамках мероприятий, чтобы избежать использования Null Масштабирование детского представления имеет одинаковую высоту Конвертер Kotlin больше не работает для Android Studio 3.0 Должен ли возврат DAO от Kotlin Необязательный или нулевой? Неразрешенная ссылка: Kotlin нуждается в 2 сборках после очистки, чтобы получить код при использовании kapt