Groovy'断言':如何显示价值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Groovy'断言':如何显示价值?相关的知识,希望对你有一定的参考价值。

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

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

而且我也不理解Groovy中的“断言”。它是否像Java中的if()语句/ boolean?

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

答案

断言类似于if,它验证您提供的表达式:如果表达式为true,则继续执行到下一个语句(并且不打印任何内容),如果表达式为false,则引发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"
    ...
}
另一答案

Groovy断言现在令人印象深刻!它们实际上会打印出语句中每个变量的值(非常适合调试)

例如,如果b为5,则a可能会打印出这样的东西,a是{it ^ 2},c是15:

assert( a(b)  == c)
.       | |   |  |
.      25 |  !=  15
.         5

(好吧 - 类似的东西 - Groovy可能看起来好多了)。

如果我们能在异常线上得到这种打印输出......

另一答案

断言'断言'表达式的结果将是真的

以上是关于Groovy'断言':如何显示价值?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查 Groovy 断言返回?

groovy开发报错

Groovy 发送 HTTP 请求

'dependencies'不能应用于'(groovy.lang.Closure)'

如何在 Groovy 类中“隐藏”元类属性

soapui中的groovy脚本怎么写