如何创建一个返回多变量数据管道“网格”的方法?

时间:2016-08-03 21:43:48

标签: grails groovy spock geb

我有一些常见的测试用于不同类型的用户。 我需要在具有不同输出的不同地方进行相同的测试。

现在我正在使用这样的数据表:

containerType                  | name
ContentTypes.BOX               |ContentNames.TEST_BOX
ContentTypes.BOX               |ContentNames.TEST_BOX_2
ContentTypes.BOX_CONTAINER     |ContentNames.TEST_BOX_CONTAINER

我要做的是将这些测试添加到抽象规范中,并执行以下操作:

[containerType,name]<< getMyData()

如何创建一个返回此多变量数据管道的方法?

http://spock.warningrc.com/DDT/MultiVariableDataPipes.html

1 个答案:

答案 0 :(得分:1)

您需要的是一个返回列表列表的方法:

def getMyData() {
    return [
       [ContentTypes.BOX, ContentNames.TEST_BOX],
       [ContentTypes.BOX, ContentNames.TEST_BOX2],
       [ContentTypes.BOX_CONTAINER, ContentNames.TEST_BOX_CONTAINER]
    ]
}

然后你可以使用上面的方法:

[containerType, name] << getMyData()