Groovy 如何在Spock2中创建一个数据驱动的测试,并考虑枚举源的所有值(基本上作为Junit5@EnumSource的替代方案)?

Groovy 如何在Spock2中创建一个数据驱动的测试,并考虑枚举源的所有值(基本上作为Junit5@EnumSource的替代方案)?,groovy,spock,junit5,Groovy,Spock,Junit5,我想测试一个特定的系统行为,考虑枚举中的所有值(有时排除一些值)。这可以在Junit5中使用@EnumSource注释轻松实现。Spock2(或任何简单的解决方法)中是否有任何替代方案?您可以使用Spock功能将任何Iterable用作数据源: import spock.lang.* class EnumSpec extends Specification { def "let's try this!"(Color color) { expect: co

我想测试一个特定的系统行为,考虑枚举中的所有值(有时排除一些值)。这可以在Junit5中使用
@EnumSource
注释轻松实现。Spock2(或任何简单的解决方法)中是否有任何替代方案?

您可以使用Spock功能将任何
Iterable
用作数据源:

import spock.lang.*

class EnumSpec extends Specification {
  def "let's try this!"(Color color) {
    expect:
    color.name() == ''

    where:
    color << Color.values()
  }
}

enum Color {
 RED, BLUE, GREEN
}
导入spock.lang*
类EnumSpec扩展了规范{
def“让我们试试这个!”(彩色){
期望:
color.name()
哪里:
颜色