在其中一个Spock测试中,我看到了一个奇怪的情况:
0 * someInstance._
这是什么意思?
答案 0 :(得分:9)
_
是一个通配符,任何对象。请参阅here,了解其完整实施情况以及文档的here。 _
它用于检查一个方法的调用,哪个参数无关紧要,然后它看起来像:
1 * obj.method(1, _)
在这种特殊情况下,检查实例method
上的方法obj
是否仅使用1
作为第一个参数调用一次,任何作为第二个参数。
答案 1 :(得分:0)
编辑:我的回答并未解决运营商问题,而是指无关的问题。正确的答案可以在上面看到
_
通常用于表示现在遵循或提供可见性指令的Groovy/Javascript
等语言中的私有内容/变量。
虽然你仍然可以从类或实例外部访问它们,但开发人员试图告诉你这个变量只能在内部使用。