The*_*olf 13 java testing unit-testing language-interoperability kotlin
有人可以告诉我如何在Kotlin中对扩展功能进行单元测试?因为它们是静态解析的,它们应该作为静态方法调用还是非静态方法进行测试?此外,由于语言可与Java完全互操作,因此应如何执行Kotlin扩展函数的Java单元测试?
JB *_*zet 19
好吧,要测试一个方法,无论是否静态,你可以将其称为真实代码,并检查它是否正确.
例如,假设此扩展方法在文件com/foo/Bar.kt中定义:
fun String.lengthPlus1(): Int {
return this.length + 1
}
Run Code Online (Sandbox Code Playgroud)
如果您在Kotlin中编写测试(通常用于测试Kotlin代码),您可以编写
assertThat("foo".lengthPlus1()).isEqualTo(4);
Run Code Online (Sandbox Code Playgroud)
如果用Java编写它(但为什么要这样做?)
assertThat(BarKt.lengthPlus1("foo")).isEqualTo(4);
Run Code Online (Sandbox Code Playgroud)