Testing 使内部声明对Kotlin中的其他模块可见

Testing 使内部声明对Kotlin中的其他模块可见,testing,gradle,kotlin,visibility,Testing,Gradle,Kotlin,Visibility,我有一个Kotlin项目,使用Gradle进行构建/测试。在Kotlin中,您可以将依赖项标记为内部,例如: 内部类MyClass:MyInterface 现在,我还想在Gradle中运行一些与正常的测试任务分离的集成测试,因此我修改了build.Gradle,如下所示: sourceSets { testIntegration { compileClasspath = files(main.output, project.configurations.testComp

我有一个Kotlin项目,使用Gradle进行构建/测试。在Kotlin中,您可以将依赖项标记为
内部
,例如:

内部类MyClass:MyInterface
现在,我还想在Gradle中运行一些与正常的
测试任务分离的集成测试,因此我修改了build.Gradle,如下所示:

sourceSets {
    testIntegration {
        compileClasspath = files(main.output, project.configurations.testCompileClasspath)
        runtimeClasspath = files(testIntegration.output, main.output, project.configurations.testRuntimeClasspath)
    }
}

task testIntegration(type: Test) {
    group = "Verification"
    description = "Integration tests"

    testClassesDirs = sourceSets.testIntegration.output.classesDirs
    classpath = sourceSets.testIntegration.runtimeClasspath

    useTestNG()
}
它工作正常,除非我想访问内部声明:

//在我的集成测试中
val instance=factory.buildInstance()
assertTrue(实例为MyClass)//此行编译失败,因为'MyClass'是内部的
翻阅其中提到:

一个渐变源集(,但测试源集可以访问main的内部声明除外)

我如何告诉Gradle新的
testIntegration
源代码集也应该能够从
main
源代码集中访问
internal
声明