如何在groovy中显示一个值是真还是假?我使用 Eclipse 作为我的 IDE。
assert 4 * ( 2 + 3 ) - 6 == 14 //integers only
而且我不太了解 Groovy 中的“断言”。它像 Java 中的 if() 语句/布尔值吗?
“断言”在 Groovy 中扮演什么角色?
断言类似于 if,它验证您提供的表达式:如果表达式为真,则继续执行到下一条语句(并且不打印任何内容),如果表达式为假,则引发 AssertionError。
您可以自定义错误消息,提供由冒号分隔的消息,如下所示:
assert 4 * ( 2 + 3 ) - 5 == 14 : "test failed"
这将打印:
java.lang.AssertionError: test failed. Expression: (((4 * (2 + 3)) - 5) == 14)
但我不得不改变你的测试值,以使其失败。
断言的使用取决于您的口味:您可以使用它们来断言在您的工作继续之前必须为真的东西(请参阅按合同设计)。
例如,一个需要正数才能使用的函数,可以测试参数是否为正的事实,并将断言作为第一个语句:
def someFunction(n) {
assert n > 0 : "someFunction() wants a positive number you provided $n"
...
...function logic...
}
Groovy 断言现在非常令人印象深刻!他们实际上会打印出语句中每个变量的值(这对于调试来说非常棒)
例如,如果 b 为 5,a 为 {it^2} 且 c 为 15,它可能会打印如下内容:
assert( a(b) == c)
. | | | |
. 25 | != 15
. 5
(嗯 - 类似的东西 - Groovy 可能会看起来好多了)。
如果我们能在异常行上得到这种打印输出......
断言“断言”表达式的结果将为真