我主要是一名 Java 开发人员,在 kotlin 中编写单元测试时对结构感到好奇,
假设在 kotlin 中没有包私有
private
限制对文件的可见性
internal
限制对模块的可见性
我怎样才能只开课来测试课?
我必须在 kotlin 类中编写测试还是对所有模块(内部)开放类?
只为单元测试打开方法的 kotlin 方法是什么?
编辑
在@bentolor 的kotlin 讨论中发现了类似的问题/请求:
我应该如何正确进行单元/白盒测试?我想编写测试代码来测试类内部功能,我不想将其暴露给除我的测试类之外的其他类。
包保护的可见性是实现这一目标的绝佳方式。而 Kotlin 现在要求我将这些方法有效地公开,并在整个项目中散布组件的可见 API,以便能够测试它们。
在我看来,内部或多或少是公开的,因为它的范围要大得多。大多数项目都有。大约 1 - 5 个 Kotlin 意义上的“模块”。
在这里非常强烈地要求/倡导本地包的可见性。