>> 和 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 语句中是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
Compile Groovy/Spock with GMavenPlus
如何使用XPath在XML中获取特定节点名称(使用Groovy)