Kotlin 测试类应该是内部的吗?

z11*_*11i 9 testing kotlin

例如,当您在 IntelliJ 中为给定类生成测试类时,class Foo它将生成一个测试类internal class FooTest。为什么它默认为internal class?使用内部类作为测试类有什么好处?

我生成测试类的方法是:将光标放在类名称上Foo,按Option/Alt+ Enter,选择“创建测试”。

kar*_*aze 5

使用internal可见性意味着它可以被同一模块中的其他类访问。这是 Kotlin 最接近 Java 的默认“package-private”,这对于用 Java 编写的测试也有意义。

使用private更具限制性,以便测试类可以相互重用,这有时很有用。公共测试类确实不应该被使用,除非它们是全局测试助手,这将是例外而不是规则。