我应该如何测试 Kotlin 扩展函数?
2022-09-01 17:35:51
有人可以告诉我我应该如何在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);