如何在grails中运行spock功能测试的子集?

如何在grails中运行spock功能测试的子集?,grails,tags,functional-testing,spock,geb,Grails,Tags,Functional Testing,Spock,Geb,在其他一些测试框架中,我习惯于标记测试,例如@really\u slow、@front\u end 然后运行不同批次的测试,比如我可能想设置一个构建从机来运行所有非常慢的测试,可能想运行所有标记为前端但没有标记为非常慢的测试 要在grails中运行spock+geb测试,现在我只运行grails测试应用程序functional: 如何告诉它运行子集?您可以将JUnit套件与@Category一起使用。或者,您可以使用具有以下内容的SpockConfig.groovy: runner {

在其他一些测试框架中,我习惯于标记测试,例如@really\u slow、@front\u end

然后运行不同批次的测试,比如我可能想设置一个构建从机来运行所有非常慢的测试,可能想运行所有标记为前端但没有标记为非常慢的测试

要在grails中运行spock+geb测试,现在我只运行grails测试应用程序functional:


如何告诉它运行子集?

您可以将JUnit套件与
@Category
一起使用。或者,您可以使用具有以下内容的
SpockConfig.groovy

runner {
    include foo.bar.FrontEnd, foo.bar.BackEnd
    exclude foo.bar.Slow
}

这里,
foo.bar.FrontEnd
foo.bar.BackEnd
,和
foo.bar.Slow
是您自己的注释。要激活配置文件,您必须设置一个指向它的
spock.configuration
系统属性。

回答得好,在哪里可以找到SpockConfig.groovy文件的文档?它目前没有很好的文档。您可以在Javadoc中找到一些位(例如)。配置文件的默认位置是
~/.spock/SpockConfig.groovy
。如果需要,您可以通过
spock.configuration
系统属性设置不同的文件路径。我很难让它正常工作。我得到一个错误,说配置文件是错误的,但它没有说哪一行。是否有命令行方式来指定spock配置?类似的问题,抱怨spock配置文件无法编译,当它应该编译时(根据示例和IntelliJ编译它时没有问题)
import com.myproject.test.ReadOnly runner{include ReadOnly}
,显然这就是原因: