提问人:z11i 提问时间:12/31/2019 更新时间:12/31/2019 访问量:4519
Kotlin 测试类应该是内部的吗?
Should Kotlin test classes be internal?
问:
当你在 IntelliJ 中为给定的类生成一个测试类时,比如说,它将生成一个测试类。为什么默认为 ?将内部类用于测试类有什么好处?class Foo
internal class FooTest
internal class
我生成测试类的方式是:将光标放在类名上,按+,选择“创建测试”。Foo
Option/Alt
Enter
答:
5赞
karmakaze
12/31/2019
#1
使用可见性意味着它可以被同一模块中的其他类访问。这是 Kotlin 最接近 Java 默认的“package-private”,这对于用 Java 编写的测试也很有意义。internal
使用更具限制性,使测试类可以相互重用,这有时很有用。公共测试类真的不应该使用,除非它们是全局测试帮助程序,这将是例外而不是规则。private
评论
0赞
Farid
5/22/2023
你的解释毫无意义。我的意思是,无论测试类具有什么可见性,它永远不会对定义它的模块之外的任何类可见。它不仅被定义了,而且只有在“unitTest”包中才可见。
0赞
Pawan Soni
12/31/2019
#2
Internal 是 Kotlin 中可用的新修饰符,在 Java 中是不存在的。 将声明设置为内部意味着它仅在同一个模块中可用。 Kotlin 中的模块是指一组编译在一起的文件。
internal class A {
}
internal val x = 0
这些在当前模块之外不可见。 当您需要向用户隐藏特定的库实现时,内部修饰符非常有用。 使用 Java 中的包私有可见性这是不可能的。
评论