Como devo testar as funções de extensão do Kotlin?

Alguém pode me dizer como devo testar as funções de extensão em Kotlin? Como eles são resolvidos estaticamente, eles devem ser testados como chamadas estáticas de método ou como não estáticas? Além disso, como a linguagem é totalmente interoperável com o Java, como o teste de unidade Java para as funções de extensão do Kotlin deve ser executado?

Bem, para testar um método, seja ele estático ou não, você o chama como código real, e verifica se ele faz a coisa certa.

Supondo que este método de extensão, por exemplo, esteja definido no arquivo com / foo / Bar.kt:

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

Se você escrever seu teste em Kotlin (o que você normalmente faria para testar o código Kotlin), você escreveria

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

Se você escrever em Java (mas por que você faria isso?)

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