在Gradle/Spock土地上有测试套件的概念吗?

sme*_*eeb 5 groovy gradle spock

这里使用Spock进行单元测试的Groovy/Gradle项目.

Spock和/或Gradle是否支持测试套件或命名的测试集?由于超出此问题范围的原因,某些Spock测试(Specifications)表明CI服务器无法运行.

因此,将我的所有应用程序的Spock测试分成两组将会很棒:

  1. " ci-tests"; 和
  2. " local-only-tests"

然后也许我们可以通过以下方式调用它们:

./gradlew test --suite ci-tests
Run Code Online (Sandbox Code Playgroud)

这可能吗?如果是这样,setup/config是什么样的?

小智 6

您可以使用Spock注释@IgnoreIf()注释不应在CI服务器中运行的测试.

请参阅此处的文档:https://spockframework.github.io/spock/docs/1.0/extensions.html#_ignoreif

您需要做的就是让CI服务器设置一个环境变量,如果设置了该变量,则排除测试类.

Spock甚至在封闭内部具有属性以使其变得容易:

@IgnoreIf({sys.isCiServer})