2017-12-07 2 views
0

나는 스팍에서이 문서 읽고 있어요 : http://spockframework.org/spock/docs/1.1/data_driven_testing.html를이 코드의 조각이 데이터 변수 할당 부분을 가로 질러 온 :spock은 반복 가능한 반복을 어떻게 결정합니까?

a = 3 
b = Math.random() * 100 
c = a > b ? a : b 

하지만 내가 뭔가 아무튼 반복 가능

a << [6, 2, 0] 
b << [4, 10, 10] 
c = a > b ? a : b 
+0

에 위치하고 그것이 가지고 요소를 하나씩 하나씩 비교한다 : 6 0 10 2 10 4와 함께 -이다 뭘 물어 보는거야? – Opal

답변

1

를 사용하여 시도하는 경우를 '티.

Spock은 (AST 변환을 groovy 컴파일러에 등록하여) 테스트 사양을 많이 다시 작성합니다.

where: 절 위해 그것은 ab (이러한 로컬 변수 차례로 각 값을 할당하는) 제공된리스트를 반복하는 코드를 생성하고 각 반복에 c = a > b ? a : b의 코드를 실행.

where: 절에 대한 코드 변환이이 경우에 클래스 org.spockframework.compiler.WhereBlockRewriter (https://github.com/spockframework/spock/blob/master/spock-core/src/main/java/org/spockframework/compiler/WhereBlockRewriter.java)

관련 문제