2

在我的 Spock 测试中,这是我当前的 where 块

where:
        [A,B,C] << 
        [
            ["A1","B1","C1"],
            ["A1","B1","C2"],
        ]

我试图简化这一点,因为我对 A 和 B 的输入总是相同的。我正在尝试使用组合()但没有成功。

我想要这样的东西,它与上面的代码做同样的工作。

where:
        [[A,B],[C]] <<                 // incorrect
        [
            [["A1","B1"],["C1","C2"]].combinations()  // incorrect
        ]   

目前我得到NPE

4

2 回答 2

6

这是一种解决方案:

where:
[A, B, C] << [[["A1","B1"]],["C1","C2"]].combinations()*.flatten()
于 2013-09-24T16:59:51.600 回答
1

你需要这样的东西:

where:
    [A, B, C] << [
        ['a1', 'a2', 'a3'],
        ['b1', 'b3'],
        ['c1']
    ].combinations()

您没有足够的数组来匹配您的目标,或者您试图将目标错误地分组到子数组中。

于 2017-08-10T22:43:25.323 回答