Java ';格拉德尔黄瓜';测试实施不起作用

Java ';格拉德尔黄瓜';测试实施不起作用,java,gradle,cucumber,Java,Gradle,Cucumber,我正在构建一个使用cucumber的简单测试应用程序。不幸的是,“gradlecumber”在我尝试运行它时会抛出错误。但是,当我在build.gradle中将testImplement更改为不推荐使用的testCompile时,一切都正常运行。这是预期的行为吗?我需要做什么才能让cucumber使用testImplementation运行 build.gradle: dependencies { testImplementation 'io.cucumber:cucumber-java

我正在构建一个使用cucumber的简单测试应用程序。不幸的是,“gradlecumber”在我尝试运行它时会抛出错误。但是,当我在build.gradle中将testImplement更改为不推荐使用的testCompile时,一切都正常运行。这是预期的行为吗?我需要做什么才能让cucumber使用testImplementation运行

build.gradle:

dependencies {
    testImplementation 'io.cucumber:cucumber-java:4.2.0'
    testImplementation 'io.cucumber:cucumber-junit:4.2.0'
}

configurations {
    cucumberRuntime {
        extendsFrom testRuntime
    }
}

task cucumber() {
    dependsOn assemble, compileTestJava
    doLast {
        javaexec {
            main = "cucumber.api.cli.Main"
            classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
            args = ['--plugin', 'pretty', '--glue', 'gradle.cucumber', 'src/test/resources']
        }
    }
}
dependencies {
    testCompile 'io.cucumber:cucumber-java:4.2.0'
    testCompile 'io.cucumber:cucumber-junit:4.2.0'
}
...
结果(错误):

build.gradle:

dependencies {
    testImplementation 'io.cucumber:cucumber-java:4.2.0'
    testImplementation 'io.cucumber:cucumber-junit:4.2.0'
}

configurations {
    cucumberRuntime {
        extendsFrom testRuntime
    }
}

task cucumber() {
    dependsOn assemble, compileTestJava
    doLast {
        javaexec {
            main = "cucumber.api.cli.Main"
            classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
            args = ['--plugin', 'pretty', '--glue', 'gradle.cucumber', 'src/test/resources']
        }
    }
}
dependencies {
    testCompile 'io.cucumber:cucumber-java:4.2.0'
    testCompile 'io.cucumber:cucumber-junit:4.2.0'
}
...
结果(工程):

有人能解释一下这是怎么回事吗?非常感谢您的帮助

查看哪个说明testRuntime已被弃用

从Java插件继承的compile、testCompile、runtime和testRuntime配置仍然可用,但已弃用

我想应该是这样

configurations {
    cucumberRuntime {
        extendsFrom testImplementation
    }
}