加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

groovy – spock测试的where子句中的多个赋值?

发布时间:2020-12-14 16:23:08 所属栏目:大数据 来源:网络整理
导读:我正在使用Spock框架进行测试,我在where子句中有关于多变量赋值的问题. 我有以下测试用例: def "sending a message delegates to message sender"() { when: sendMessage(x,y) then: 1 * messageSender.send(x,y) where: x 1 y 2} 我想用一个赋值操作替换wh
我正在使用Spock框架进行测试,我在where子句中有关于多变量赋值的问题.

我有以下测试用例:

def "sending a message delegates to message sender"() {
  when:
    sendMessage(x,y)
  then:
    1 * messageSender.send(x,y)
  where:
    x << 1
    y << 2
}

我想用一个赋值操作替换where子句中的多个变量赋值.我试过了:

where:
  [x,y] << [1,2]

但得到了一个MissingMethod异常.我假设这是因为表达式[1,2]被视为数组而不是列表.

请注意以下工作:

where:
  [x,2].combinations()

看起来combination()方法返回一个List类型,但是尽管以下方法不起作用:

where:
  [x,2].asList()

使用combination()是违反直觉的,所以我想知道是否有一种简单,优雅的方式在Spock中初始化多个变量.

编辑:我正在使用spock版本0.7-groovy-2.0

解决方法

必须如下所述进行多项任务:

[x,y] << [[1,2]]

这是一个contrived example,其中一个组合的测试失败.

Multiple variable data pipes使用SQL ResultSet中的一个示例,它与上面的示例非常相似.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读