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

标签 java testing groovy automated-tests spock

目前,当我在 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/

相关文章:

java - 如何在 Java 中修复/实现 equals 方法?

java - String s =""和 String s=null 的区别

javascript - 如果变量具有反应组件作为值,我如何使用 mocha/chai/sinon 进行单元测试?

groovy - Groovy中两个日期之间的持续时间

grails - 执行程序或withPool构造

java - 无法在 docker 容器中启动 H2o 集群,因为它无法绑定(bind)外部或主机 ip

java - Android 登录 Activity - 解析数据时出错 org.json.JSONException : Value  of type java. lang.String 无法转换为 JSONObject

ruby - `bundle exec rake` 还是 `rake` ? `Rake::TestTask` 怎么样?

java - 在 JUnit 中检查异常的最佳实践是什么?

java - 构建 java 项目时 build.gradle 中的 Groovy 语法