gpt4 book ai didi

build - Gradle不会下载自定义sourceSet中定义的测试的依赖项

转载 作者:行者123 更新时间:2023-12-03 05:18:09 25 4
gpt4 key购买 nike

我有以下项目结构:

MyProject
--src
--test
--acceptance
--java
--resources
--unit

和下面的build.gradle
apply plugin: 'java'
apply plugin: 'idea'

version = '0.1'

repositories {
mavenCentral()
}

sourceSets {
main {
java {
srcDir 'src'
}
}
unit {
java {
srcDir 'test/unit'
}
compileClasspath += sourceSets.main.runtimeClasspath
}
acceptance {
java {
srcDir 'test/acceptance/java'
}
resources {
srcDir 'test/acceptance/resources'
}
compileClasspath += sourceSets.main.runtimeClasspath
}
}

dependencies {
compile fileTree(dir: 'lib', include: '*.jar')

unitCompile group: 'junit', name: 'junit', version: '4.11'

acceptanceCompile group: 'junit', name: 'junit', version: '4.11'
acceptanceCompile group: 'info.cukes', name: 'cucumber-junit', version: '1.1.3'
acceptanceCompile group: 'info.cukes', name: 'cucumber-java', version: '1.1.3'
}


task unitTest(type: Test) {
description = "Runs Unit Tests"
classpath += sourceSets.unit.runtimeClasspath
testClassesDir = sourceSets.unit.output.classesDir
}


task acceptanceTest(type: Test) {
description = "Runs Acceptance Tests"
classpath += sourceSets.acceptance.runtimeClasspath
testClassesDir = sourceSets.acceptance.output.classesDir
}

但是运行“gradle acceptTest”会导致编译问题,因为在类路径上似乎找不到依赖项。

最佳答案

看起来在版本1.1.3中,Cucumber类在软件包中

cucumber.api.junit

而不是
cucumber.junit

更改import语句似乎至少解决了classpath问题。

但是,通过gradle运行Cucumber JUnit测试存在问题。此处提供了更多信息,以及使用javaexec任务的解决方法: https://github.com/yatskevich/cucumber-jvm-gradle-javaexec。总之,执行以下任务:
  task cucumber() {
dependsOn assemble, compileAcceptanceJava
doLast {
javaexec {
main = "cucumber.api.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output +
sourceSets.acceptance.output + sourceSets.unit.runtimeClasspath +
sourceSets.acceptance.runtimeClasspath

args = ['-f', 'junit:build/reports/test-results/cucumber.xml',
'-f', 'html:build/reports/test/cucumber-tests.html',
'--glue', 'com.paragon', 'test/acceptance/features']
}
}
}

我们现在可以运行
gradle cucumber

并生成JUnit报告。

关于build - Gradle不会下载自定义sourceSet中定义的测试的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18152089/

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