有人能告诉我如何在Kotlin中对扩展函数进行单元测试吗?由于它们是静态解析的,所以应该将它们作为静态方法调用还是非静态方法调用进行测试?另外,由于这门语言与Java完全兼容,那么如何对Kotlin扩展函数进行Java单元测试呢?
有人能告诉我如何在Kotlin中对扩展函数进行单元测试吗?由于它们是静态解析的,所以应该将它们作为静态方法调用还是非静态方法调用进行测试?另外,由于这门语言与Java完全兼容,那么如何对Kotlin扩展函数进行Java单元测试呢?
测试一个方法(无论是静态的还是非静态的),你需要像真实代码一样调用它,并检查它是否做了正确的事情。
例如,假设该扩展方法定义在文件com/foo/Bar.kt中:
fun String.lengthPlus1(): Int {
return this.length + 1
}
如果你要编写 Kotlin 代码的测试,你通常会使用 Kotlin 编写
assertThat("foo".lengthPlus1()).isEqualTo(4);
如果你用Java编写它(但为什么要这样做?)
assertThat(BarKt.lengthPlus1("foo")).isEqualTo(4);