gpt4 book ai didi

groovy - 期望 block 中的条件

转载 作者:行者123 更新时间:2023-12-04 18:04:46 27 4
gpt4 key购买 nike

我刚刚注意到,如果我添加 if,Spock 不会断言条件。预期块中的子句,如

def myTest() {
given:
a = true

expect:
if ( a ) {
1 == 2
}
else {
1 == 1
}
}

以上 测试将通过 不检查条件。 或者条件检查没有通过 if 语句被转发。

解决方法是添加 assert if 块中的语句,即 assert 1 == 2。

我感兴趣的是,为什么功能是这样的?有没有其他方法可以解决这个问题?我假设这与 Groovy if 语句功能有关,但我不太了解语言细节。很可能 if 语句没有返回任何 Spock 的 expect 块可以使用。

最佳答案

这与 groovy 无关。史波克的 documentation明确指出在 then 中只考虑顶级表达式和 expect作为条件。这是设计使然。

搜索顶部的链接。

关于groovy - 期望 block 中的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32157687/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com