Gradle和spock很少需要运行测试

时间:2017-07-14 14:24:34

标签: gradle automation spock

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

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

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

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

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

它不起作用。也许有人知道我该怎么做?

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

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

  1. 您可以创建一个满足您期望运行的测试的通配符(仅限于它们),例如

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

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

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

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

    这是详细的,但您可以控制所有过滤规则。

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