gradle - 类型:测试未运行的Gradle任务

标签 gradle

我有一个Type任务:Test。当我运行任务时,它只是说UP-TO-DATE,并且不运行测试,也就是说,它不执行任务的doLast部分中的 Action 。你能帮忙吗?

谢谢!

task runIntegrationTests(type: Test) {
    dependsOn compileIntegrationTestJava, processIntegrationTestResources, processTestResources

    testClassesDir = sourceSets.integrationTest.output.classesDir
    classpath = sourceSets.integrationTest.runtimeClasspath

    doLast {
        logger.info("running Cuke tests")
        (new File('build/test-results')).mkdirs()
        javaexec {
            main = "cucumber.api.cli.Main"
            classpath = sourceSets.integrationTest.runtimeClasspath
            args = ['--format', 'pretty',
                    '--format', 'html:build/test-results/cucumber-html',
                    '--format', 'json:build/test-results/cucumber.json',
                    '--tags',   '~@wip',
                    '--format', 'junit:build/test-results/cuke-junit-results.xml',
                    '--glue', 'src/integration/groovy', 'src/integration/resources']
        }
    }
}

:cleanTest UP-TO-DATE
:compileJava UP-TO-DATE
:compileGroovy UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar UP-TO-DATE
:assemble UP-TO-DATE
:compileTestJava UP-TO-DATE
:compileTestGroovy UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
:check UP-TO-DATE
:build UP-TO-DATE
:compileIntegrationTestJava UP-TO-DATE
:compileIntegrationTestGroovy UP-TO-DATE
:processIntegrationTestResources UP-TO-DATE
:integrationTestClasses UP-TO-DATE
:runIntegrationTests UP-TO-DATE

BUILD SUCCESSFUL

最佳答案

您必须为任务声明输入和输出才能使其运行。如果任务的任何输入均未更改,则它不会运行。添加例如sourceset到您的输入。看看gradle文档https://docs.gradle.org/current/userguide/more_about_tasks.html#sec:up_to_date_checks

例如:

task transform {
    inputs.file srcFile
    outputs.dir destDir
    ...
}

关于gradle - 类型:测试未运行的Gradle任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30467482/

相关文章:

android - React Native + Android:transformClassesWithDexForDebug失败

gradle - 如何扩展主distZip,以便获得包含一些额外文件的ZIP文件的副本?

gradle - Gradle删除文件集

gradle - 如何忽略Gradle控制台输出中的特定消息?

Grails 3.1.4 和 Docker - grails 命令返回 "No profile found for name web"

android - Gradle productflavors 源集和旧项目结构

java - CI 中的 Android 配置值

android - 警告 : API 'variant.getMergeResources()' is obsolete and has been replaced with 'variant.getMergeResourcesProvider()'

android - Gradle 和最新版本的库

android - 找不到构建工具修订版 21.1.1 - sdk 已更新