Spock"其中"与因变量

时间:2018-01-02 16:19:26

标签: groovy spock

我正在尝试在Spock中进行一些数据驱动测试。

我有1个变量,它取决于另一个变量:即

Services = ["tf1", "fr2"]
Questions(service) = ["What is on {service} ?", "Switch to {service}"]

我希望我的测试检查服务和问题(服务)的所有可能组合:总共4个测试。

我尝试写一个where:这样的句子:

    where:
      service << SERVICES
      question << Questions(service)

但是在运行时使用groovy.lang.MissingPropertyException: No such property: service for class: com.my.testclass

失败了

有人找到了解决此问题的方法吗?

1 个答案:

答案 0 :(得分:2)

您想要的是不可能的,所有变量必须具有相同的基数。对于每个a条目,必须只有一个service。 您在评论中写的是正确的方法,您可以将其提取到辅助方法question