当所有测试都是最新的时,如何运行Gradle测试?

2022-08-31 06:49:49

我设置了成绩脚本。当我执行Gradle构建时,一切都在工作,它运行jUnit测试。

之后,当我运行Gradle测试时,我得到以下内容:

C:\Users\..\..\Project>gradle test
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE

当我执行时,然后Gradle构建工作,当然...我希望能够仅重置测试,而不是构建整个项目:我应该怎么做?gradle clean


答案 1

一种选择是使用强制执行任务部分中的标志。这将重新运行所有测试任务及其所依赖的所有任务。--rerun-tasks

如果您只对重新运行测试感兴趣,那么另一种选择是在执行测试之前使gradle清理测试结果。这可以使用任务完成。cleanTest

一些背景 - Java插件为每个其他任务定义了一个干净的任务。根据任务文档:

cleanTaskName - 删除由指定任务创建的文件。cleanJar 将删除 jar 任务创建的 JAR 文件,而 cleanTest 将删除测试任务创建的测试结果。

因此,为了重新运行测试,您只需要运行任务,即:cleanTest
gradle cleanTest test


答案 2

另一种选择是在 build.gradle 中添加以下内容:

test.outputs.upToDateWhen {false}

推荐