我有一个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/