Gradle 并且 spock 很少需要测试 运行

Gradle and spock few needed tests to run

我的问题是我可以 运行 通过 gradle 一些我需要的 spock 测试吗?

我的意思不是包和 类,只是测试。我知道如何 运行 一个测试:

./gradlew testTask --tests "*TestName*"

TestTask 仅包含放置测试的包含包。 我试过这样的代码:

./gradlew testTask --tests "*TestName*","*TestName2*"

它不会 work.Maybe 有人知道我该怎么做吗?

根据 the docs --tests 是一个您可以重复的选项。因此,您应该能够专门为 运行 选择多个测试:

./gradlew testTask --tests "*TestName*" --tests "*TestName2*"

对于 Gradle 3.x 您只能将一个过滤规则应用于单个 --tests 开关。对于您的情况,我看到两种可能的解决方案:

  1. 您可以创建一个通配符来满足您期望 运行(并且只有它们)的测试,例如

    ./gradlew testTask --tests "*TestName*"
    

    此规则将同时满足 TestName.java 和 TestName2.java

  2. 您可以创建单独的测试任务并对其应用不同的过滤规则,例如:

    ./gradlew firstTestTask --tests "*TestName*" secondTestTask --tests "*TestName2*"
    

    它很冗长,但您可以控制所有过滤规则。

请查看 Gradle 的文档以获取更多信息:https://docs.gradle.org/3.3/userguide/java_plugin.html#test_filtering