Как проверить функции расширения Kotlin?


Может кто-нибудь сказать мне, как я должен модульно-тестировать функции расширения в Kotlin? Поскольку они разрешаются статически, следует ли их тестировать как статические вызовы методов или как нестатические ? Кроме того, поскольку язык полностью совместим с Java, как должен выполняться модульный тест Java для функций расширения Kotlin ?

1 7

1 ответ:

Ну, чтобы проверить метод, статический или нет, вы называете его так, как это сделал бы реальный код, и вы проверяете, что он делает правильную вещь.

Предполагая, что этот метод расширения, например, определен в файле com/foo / Bar.КТ:

fun String.lengthPlus1(): Int {
    return this.length + 1
}

Если вы пишете свой тест в Kotlin (что обычно делается для тестирования кода Kotlin), вы должны написать

assertThat("foo".lengthPlus1()).isEqualTo(4);

Если вы пишете его на Java (но зачем вам это делать?)

assertThat(BarKt.lengthPlus1("foo")).isEqualTo(4);