gpt4 book ai didi

java - 向 Gradle 添加额外的测试套件

转载 作者:搜寻专家 更新时间:2023-10-30 21:07:37 25 4
gpt4 key购买 nike

我正在尝试将 Gradle (1.4) 添加到具有多个测试套件的现有项目中。位于 src/test/java 中的标准单元测试运行成功,但我无法设置任务来运行位于 src/integration-test/java 中的 JUnit 测试>。

当我运行 gradle intTest 时,我得到了 src/main 中类的多个 cannot find symbol 错误。这使我相信依赖项设置不正确。我如何设置 intTest 以便它运行我的 JUnit 集成测试?

build.gradle

apply plugin: 'java'

sourceCompatibility = JavaVersion.VERSION_1_6

sourceSets {
integration {
java {
srcDir 'src/integration-test/java'
}
resources {
srcDir 'src/integration-test/resources'
}
}
}

dependencies {
compile(group: 'org.springframework', name: 'spring', version: '3.0.7')

testCompile(group: 'junit', name: 'junit', version: '4.+')
testCompile(group: 'org.hamcrest', name: 'hamcrest-all', version: '1.+')
testCompile(group: 'org.mockito', name: 'mockito-all', version: '1.+')
testCompile(group: 'org.springframework', name: 'spring-test', version: '3.0.7.RELEASE')

integrationCompile(group: 'junit', name: 'junit', version: '4.+')
integrationCompile(group: 'org.hamcrest', name: 'hamcrest-all', version: '1.+')
integrationCompile(group: 'org.mockito', name: 'mockito-all', version: '1.+')
integrationCompile(group: 'org.springframework', name: 'spring-test', version: '3.0.7.RELEASE')
}


task intTest(type: Test) {
testClassesDir = sourceSets.integration.output.classesDir
classpath += sourceSets.integration.runtimeClasspath
}

详细信息:Gradle 1.4

解决方案: 我没有为集成测试源集设置编译类路径(见下文)。在我的 I 代码中,我将编译类路径设置为 sourceSets.test.runtimeClasspath,这样我就没有“integrationCompile”的重复依赖项

sourceSets {
integrationTest {
java {
srcDir 'src/integration-test/java'
}
resources {
srcDir 'src/integration-test/resources'
}
compileClasspath += sourceSets.main.runtimeClasspath
}
}

最佳答案

“集成”源集尚未配置其编译和运行时类路径。这就是为什么它无法从您的主要源集中找到类的原因。您可以通过以下方式配置编译和运行时类路径:

sourceSets {
integTest {
java.srcDir file('src/integration-test/java')
resources.srcDir file('src/integration-test/resources')
compileClasspath = sourceSets.main.output + configurations.integTest
runtimeClasspath = output + compileClasspath
}
}

关于java - 向 Gradle 添加额外的测试套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16741004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com