常规 'assert' : How to display the value?

标签 groovy assert

如何在 groovy 中显示一个值是真还是假?我使用 Eclipse 作为我的 IDE。

    assert 4 * ( 2 + 3 ) - 6 == 14 //integers only

而且我也不太了解 Groovy 中的“断言”。它像 Java 中的 if() 语句/ bool 值吗?

“断言”在 Groovy 中扮演什么角色?

最佳答案

断言类似于 if,它验证您提供的表达式:如果表达式为真,则继续执行到下一个语句(并且不打印任何内容),如果表达式为假,则引发 AssertionError。
您可以自定义错误消息,提供由冒号分隔的消息,如下所示:

assert 4 * ( 2 + 3 ) - 5 == 14 : "test failed"
这将打印:
java.lang.AssertionError: test failed. Expression: (((4 * (2 + 3)) - 5) == 14)
但我不得不改变你的测试的值,以使其失败。
断言的使用取决于您的喜好:您可以使用它们来断言在您继续工作之前必须为真的事情(请参阅 design by contract )。
例如。一个需要正数才能使用的函数,可以测试参数为正的事实,将断言作为第一个语句:
def someFunction(n) {
    assert n > 0 : "someFunction() wants a positive number you provided $n"
    ...
    ...function logic...
}

关于常规 'assert' : How to display the value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12645142/

相关文章:

java - 有没有办法自动将 Groovy 转换为 Java?

java - (RxJava) 移植的 Groovy 方法不起作用

groovy - 如何删除常规语言中字符串的第一个和最后一个特殊字符

c++ - 是否有任何工具可以在 C++ 中对断言进行编译时检查?

groovy - 为什么 Groovy 以这种方式执行浮点运算?

java - 编译的 Groovy 脚本

python - 如何在没有太多行李的情况下使用 `assertEqual()` [或等效]?

php - 'assert' 忽略当前命名空间是一个错误吗?

c - 简单算术完整性检查强制 C 编译错误(加法、减法必须匹配)

java - 当java程序中遇到assert语句时,JVM内部在做什么?