在 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

这是一个解决方案:

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

你需要这样的东西:

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

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

最新更新