Groovy语法和变量吗?

qni6mghb  于 2022-11-01  发布在  其他
关注(0)|答案(2)|浏览(137)

这是什么groovy语法(我用它在Spock)。我不知道什么是“it”变量。我不明白JSON一样的语法作为保存的参数。
谢谢你!

ne5o7dgx

ne5o7dgx1#

  • @Jeff Scott Brown* 已经正确地解释了Groovy闭包是如何工作的。我将在此基础上解释Spock测试DSL的细节,因为他似乎并不知道这些细节:

1 * subject.statusRepository.save(...)意味着验证save方法是否按照参数约束(...)中的指定被调用一次。为了理解1 *,您需要阅读Spock中关于基数的内容。

{
    it.Id == request.Id
    it.location == location
    it.team == statusExisting.getTeam()
    it.statusEnum == StatusEnum.Status.W
}

是第一个方法参数的参数条件约束,指定参数必须符合的条件,才能符合。
这四行代码被称为conditions。它们是语法糖或Assert的简写,也是Spock DSL的基本构建块之一。它们是使编写和阅读Spock测试变得优雅、富有表现力和直观的一部分。
我强烈建议您学习一些基本的Groovy语法,同时也阅读Spock手册。堆栈溢出并不意味着是您跳过使用新工具或新语言的学习部分的捷径。
下面是您的情况的简化MCVE版本:
第一个
请在Groovy Web Console中试用。
只要在Data构造函数调用或参数约束条件中更改一个值,就可以看到测试失败。

6ss1mwsb

6ss1mwsb2#

“JSON类语法作为参数”称为closure在本文中,您还将找到一个隐式it参数的解释,这是经常在闭包中使用。

相关问题