目前,当我在 Groovy - spock when: 中使用 if else 时,仅执行 if,而不会执行 else。还有其他方法可以在 spock 测试中实现 if-else 吗?我尝试了 switch case 并遇到了同样的情况。
if (value == 'x' || 'y' || 'z') {
//execute below info
} else if (value == 'a') {
//execute below info
}
最佳答案
由于常规事实 'y' 被视为 boolean 值 true,这就是 else 不被执行的原因。
您可能尝试评估这一点:
if (value == 'x' || value == 'y' || value == 'y') {
//execute below info
} else if (value == 'z'){
//execute below info
}
但您也可以尝试将 if 表达式修改为:
if (value in ['x', 'y', 'y']) {...}
关于java - 在 Groovy 中使用 if-else 语句 - spock 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42255276/