【问题标题】:With Gradle jvm-test-suite, the integrationTest suite can not access kotlin internal Apis使用 Gradle jvm-test-suite,integrationTest 套件无法访问 kotlin 内部 API
【发布时间】:2022-08-20 21:31:55
【问题描述】:

我正在尝试使用 gradle JVM test suite plugin 为我的 Kotlin 项目执行集成测试。一些类和 api 是 internal 可见性。

我按照示例代码创建了新的测试套件integrationTest

testing {
    suites { 
        val integrationTest by registering(JvmTestSuite::class) { 
            dependencies {
                implementation(project) 
            }
            ...
        }
    }
}

但是src/integrationTest/kotlin下的源代码在项目main中看不到internal类。我了解integrationTest 的测试套件与项目 main 不在同一个模块中。

我的问题是:

  1. 为什么这种行为与默认测试套件test 不一致,它可以访问项目主程序中的内部类?
  2. 如果这是设计使然,我该如何解决这个问题以使内部类对integrationTest 的测试套件可见?

    标签: kotlin gradle


    【解决方案1】:

    有同样的问题。在这里找到了答案:Adding an additional test suite to Gradle 似乎你需要添加

    compileClasspath += sourceSets["main"].runtimeClasspath

    【讨论】:

      猜你喜欢
      • 2023-02-05
      • 2019-11-24
      • 2022-11-10
      • 2018-03-04
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2018-12-17
      • 1970-01-01
      相关资源
      最近更新 更多