spock 如何确定哪个迭代器大于另一个?
How does spock determine which iteratable is greater than the other?
我正在 spock 中阅读此文档:http://spockframework.org/spock/docs/1.1/data_driven_testing.html 并遇到了具有以下代码片段的数据变量分配部分:
a = 3
b = Math.random() * 100
c = a > b ? a : b
但是如果我尝试使用可迭代对象会怎样
a << [6, 2, 0]
b << [4, 10, 10]
c = a > b ? a : b
没有。
Spock 会大量重写您的测试规范(通过使用 groovy 编译器注册 AST 转换)。
对于 where:
子句,它创建代码以迭代到为 a
和 b
提供的列表(并将每个值依次分配给这些局部变量)并运行每次迭代 c = a > b ? a : b
的代码。
where:
子句的代码转换位于 class org.spockframework.compiler.WhereBlockRewriter
(https://github.com/spockframework/spock/blob/master/spock-core/src/main/java/org/spockframework/compiler/WhereBlockRewriter.java)
我正在 spock 中阅读此文档:http://spockframework.org/spock/docs/1.1/data_driven_testing.html 并遇到了具有以下代码片段的数据变量分配部分:
a = 3
b = Math.random() * 100
c = a > b ? a : b
但是如果我尝试使用可迭代对象会怎样
a << [6, 2, 0]
b << [4, 10, 10]
c = a > b ? a : b
没有。
Spock 会大量重写您的测试规范(通过使用 groovy 编译器注册 AST 转换)。
对于 where:
子句,它创建代码以迭代到为 a
和 b
提供的列表(并将每个值依次分配给这些局部变量)并运行每次迭代 c = a > b ? a : b
的代码。
where:
子句的代码转换位于 class org.spockframework.compiler.WhereBlockRewriter
(https://github.com/spockframework/spock/blob/master/spock-core/src/main/java/org/spockframework/compiler/WhereBlockRewriter.java)