>> 和 1* 在这个 groovy 语句中是啥意思?

Posted

技术标签:

【中文标题】>> 和 1* 在这个 groovy 语句中是啥意思?【英文标题】:what does >> and 1* means in this groovy statement?>> 和 1* 在这个 groovy 语句中是什么意思? 【发布时间】:2015-10-26 10:14:05 【问题描述】:

我正在从事 grails/groovy 项目,在阅读他们的测试文档时遇到了这行代码

1 * myService.prova() >>  true 

我无法理解 1 * 在这里也意味着什么,因为 >> 是右移运算符,这里是什么意思?我已经搜索了很多,但无法得到任何适当的解释。 Grails Test Documenation

【问题讨论】:

【参考方案1】:

这本身并不是 groovy,而是称为 Spock 的测试框架(它在 Groovy 开发人员中非常流行,有充分的理由 :-) - http://spockframework.github.io/spock/docs/1.0/index.html

这个表达式特别是一种指示 Spock 的方式,它应该期望在 myService 中准确地调用方法 prova,并且应该模拟这个调用以返回 true。请参阅Interaction based testing,尤其是名为结合模拟和存根的部分。

【讨论】:

我的回复 (spockframework.github.io/spock/docs/1.0/index.html) 中的链接非常详尽地介绍了如何使用 Spock 进行模拟。还有grails.github.io/grails-doc/latest/guide/… 指的是同一指南(链接似乎已损坏 ATM)。在 Grails 指南中,您还可以找到如何使用元编程进行模拟,但如果您已经在使用,我会尝试坚持使用 Spock。

以上是关于>> 和 1* 在这个 groovy 语句中是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins上的Groovy:Plot插件

Compile Groovy/Spock with GMavenPlus

groovy使用范型的坑

如何使用XPath在XML中获取特定节点名称(使用Groovy)

Groovy 控制台无法“记住”任何变量 - 总是说“未知属性”

在 Groovy 中将字符串 XML 片段转换为文档节点