拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 从内部访问Spock资料提供程序变量where:block

从内部访问Spock资料提供程序变量where:block

白鹭 - 2022-02-16 1958 0 0

我正在尝试从 where 块中访问 where 块变量,但它不起作用。我在想Spock不允许这样做,但我想我会试一试,看看是否有人知道怎么做。

where:
testNumber << Stream.iterate(1, n -> n).iterator()
test << Stream.generate(() -> { testNumber > 15 }).iterator()

结果:

No such property: testNumber for class

如果这是不可能的,并且有人有另一种方法来完成类似的事情,我对此持开放态度。基本上我试图让这个测验更容易管理,因为跟踪 15-20 个布林值的多个阵列有点痛苦:

testNumber << [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
post << [false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true]
postWeekend << [true, true, true, true, true, true, false, false, false, false, false, false, false, false, false]
dividendReinvested << [true, false, true, false, true, true, false, true, true, true, true, true, true, true, true]
createCCB << [false, false, false, false, false, false, false, false, false, false, false, false, false, false, true]
ntd << [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false]

但是,如果我可以访问它,我可以根据测验号来设定其中的许多(并且拥有可用的测验号也可以很容易地确定哪个测验失败了)。

uj5u.com热心网友回复:

看起来您想根据testNumber. 您可以为此使用从内部访问 Spock 资料提供程序变量 where: block

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *