Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Groovy-spock测试中使用if-else语句_Java_Testing_Groovy_Automated Tests_Spock - Fatal编程技术网

Java 在Groovy-spock测试中使用if-else语句

Java 在Groovy-spock测试中使用if-else语句,java,testing,groovy,automated-tests,spock,Java,Testing,Groovy,Automated Tests,Spock,当前,当我在Groovy-spock中使用if-else时:,只执行if,而不执行else。在spock测试中是否有其他实现if-else的方法?我试过开关箱,也遇到了同样的问题 if (value == 'x' || 'y' || 'z') { //execute below info } else if (value == 'a') { //execute below info } 由于groovy真值“y”被视为布尔值true,这就是为什么不执行else 可能您试图对此进

当前,当我在Groovy-spock中使用if-else时:,只执行if,而不执行else。在spock测试中是否有其他实现if-else的方法?我试过开关箱,也遇到了同样的问题

if (value == 'x' || 'y' || 'z') {
    //execute below info
} else if (value == 'a') {
    //execute below info
}

由于groovy真值“y”被视为布尔值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']) {...}

我不确定我是否必须对此作出评论或回答

else块下的代码未执行,因为
值=='x'| | |'y'| |'y'
始终为true,因为字符文本
'y'
始终计算为true

非空字符串、gstring和charsequence被强制为true


试试这个:
如果(value='x'| value='y')

为什么会有这样的:````| | | | | y'```?我用了第二个,它可以工作。谢谢你的帮助!:)知道了。谢谢德根!