【问题标题】:Gradle and spock few needed tests to runGradle 和 spock 运行所需的测试很少
【发布时间】:2017-12-19 16:40:47
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: gradle automation spock


    【解决方案1】:

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

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

    【讨论】:

    • 看起来他们在 Gradle 4.x 中让生活更轻松 :) 很好的发现!
    • 它工作,我有 gradle 版本 2.x,所以更新到 4.0.1。 :)
    【解决方案2】:

    对于 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-08
      • 1970-01-01
      • 1970-01-01
      • 2017-06-13
      • 1970-01-01
      • 2014-09-28
      相关资源
      最近更新 更多