【发布时间】:2019-11-24 19:32:22
【问题描述】:
在https://docs.gradle.org/current/userguide/java_testing.html#sec:configuring_java_integration_tests 和https://www.michael-bull.com/blog/2016/06/04/separating-integration-and-unit-tests-with-gradle 之后,我们试图将集成测试与普通单元测试分开。
我们遇到的问题是 Kotlin 中的 internal 成员无法从此类测试中访问。根据Kotlin doco,测试源集存在可见性异常。
内部可见性修饰符表示该成员是可见的 在同一个模块中。更具体地说,一个模块是一组 Kotlin 一起编译的文件:
- 一个 IntelliJ IDEA 模块;
- 一个 Maven 项目;
- 一个 Gradle 源集(测试源集可以访问 main 的内部声明除外);
- 通过一次 Ant 任务调用编译的一组文件。
除了不尝试访问它们之外,还有其他方法吗?这将需要对数百个测试和整个代码库进行重大重构。
【问题讨论】:
-
related question 讨论了一些失败的尝试。您是否碰巧找到了解决问题的方法?
标签: testing gradle kotlin integration-testing visibility