在这个Groovy语句中,">>"和"1*"是什么意思?

37

我正在处理grails/groovy项目,阅读他们的测试文档时发现了这行代码

1 * myService.prova() >> { true }

我无法理解这里的1 *代表什么,>>是右移运算符,在这里它表示什么?我已经搜索了很多但是没有找到任何合适的解释。 Grails测试文档

1个回答

45

这并不是纯粹的Groovy,而是一个名为Spock的测试框架(在Groovy开发人员中非常受欢迎,有很好的原因 :) - http://spockframework.github.io/spock/docs/1.0/index.html

特别地,这个表达式告诉Spock它应该期望在myService中对方法prova仅调用一次,并且这个调用应该被模拟为返回true。请参见基于交互的测试,特别是名为组合模拟和存根的部分。


1
我的回复中的链接(http://spockframework.github.io/spock/docs/1.0/index.html)非常详尽,关于使用Spock进行模拟。还有https://grails.github.io/grails-doc/latest/guide/testing.html#mockingCollaborators,它引用了相同的指南(链接目前似乎无法使用)。在Grails指南中,您还可以找到如何使用元编程进行模拟,但如果您已经在使用Spock,则建议继续使用它。 - Deigote

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接