【问题标题】:'Gradle cucumber' With testImplementation Not Working'Gradle cucumber' 与 testImplementation 不工作
【发布时间】:2018-12-10 21:45:00
【问题描述】:

我正在构建一个使用黄瓜的简单测试应用程序。不幸的是,当我尝试运行它时,'gradle cucumber' 会引发错误。但是,当我将 testImplement 更改为 build.gradle 中已弃用的 testCompile 时,一切运行良好。这是预期的行为吗?为了让黄瓜使用 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']
        }
    }
}

结果(错误):

> Task :cucumber FAILED
Error: Could not find or load main class cucumber.api.cli.Main
Caused by: java.lang.ClassNotFoundException: cucumber.api.cli.Main

build.gradle:

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

结果(作品):

> Task :cucumber
No features found at [src/test/resources]

0 Scenarios
0 Steps

有人可以解释这里发生了什么吗?非常感谢任何帮助!

【问题讨论】:

    标签: java gradle cucumber


    【解决方案1】:

    请参阅here,它表示不推荐使用 testRuntime

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

    我觉得应该是的

    configurations {
        cucumberRuntime {
            extendsFrom testImplementation
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-01
      • 2015-05-19
      • 1970-01-01
      相关资源
      最近更新 更多