Testing Spock测试中的ux(下划线)是什么意思?

Testing Spock测试中的ux(下划线)是什么意思?,testing,groovy,spock,Testing,Groovy,Spock,在一个Spock测试中,我在then块中看到一个奇怪的情况: 0 * someInstance._ 这是什么意思?编辑:我的回答没有解决操作员问题,而是指一个不相关的问题。正确答案可以在上面看到 \uu通常用于表示私有内容/变量,这些语言现在遵循或提供可见性指令,例如Groovy/Javascript 虽然您仍然可以从类或实例外部访问它们,但开发人员试图告诉您该变量仅用于内部。\u是通配符,可以是任何对象。查看以了解其具体实现方式以及文档\uu例如,它用于检查参数不重要的方法调用,然后它看起

在一个Spock测试中,我在then块中看到一个奇怪的情况:

0 * someInstance._

这是什么意思?

编辑:我的回答没有解决操作员问题,而是指一个不相关的问题。正确答案可以在上面看到


\uu
通常用于表示私有内容/变量,这些语言现在遵循或提供可见性指令,例如
Groovy/Javascript


虽然您仍然可以从类或实例外部访问它们,但开发人员试图告诉您该变量仅用于内部。

\u
是通配符,可以是任何对象。查看以了解其具体实现方式以及文档<代码>\uu例如,它用于检查参数不重要的方法调用,然后它看起来像:

1*对象方法(1,)


在这种特殊情况下,将检查实例
obj
上的方法
method
是否以
1
作为第一个参数调用过一次,而任何东西作为第二个参数调用过一次。

Java和Groovy具有可见性指令,因此不需要下划线的私有变量,此外,变量应在下划线后至少有一些文本,以澄清其含义。在本例中,它是一个特定于Spock的通配符,正如另一个答案正确指出的那样。关于下划线的通配符用法,您是对的(提供链接做得很好,不容易找到)。Groovy过去很长一段时间都忽略可见性指令,您能给我提供一个文档链接,说明这个问题已经解决了吗?还没有解决。Groovy仍然专门处理可见性。我不知道应用于groovy的python之类的约定。它比解释通配符和基数()的Spock文档更友好。谢谢@GregorPetrin!我想展示的是实现,而不是用法,但是它非常有用。两者兼备很好,对吗?不管怎么说,斯波克在两个地方都有文档,谷歌代码的版本看起来很不友好,所以我觉得提供一个到现代版本的链接总是好的。当然,这就是为什么我在答案中添加了它。再次感谢你!在这种特殊情况下,将选中与
someInstance
上的任何方法调用的无交互。简单地说。与
someInstance
对象没有交互。