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中的一个示例,它与上面的示例非常相似. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |