문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
java:spock [2020/08/27 13:32] kwon37xi [Argument 의 각 줄을 assert 하게 변경되면서 capture 방식도 바뀜] |
java:spock [2020/08/27 13:34] kwon37xi |
||
---|---|---|---|
줄 120: | 줄 120: | ||
===== Spock 1.3 & groovy 2.5 문제/ | ===== Spock 1.3 & groovy 2.5 문제/ | ||
+ | * [[http:// | ||
+ | |||
==== where 의 변수명이 서로 다른 메소드에 동일하게 존재하는데 타입이 다를경우 ==== | ==== where 의 변수명이 서로 다른 메소드에 동일하게 존재하는데 타입이 다를경우 ==== | ||
줄 128: | 줄 130: | ||
* 1.2 에서는 Argument 의 Closure 블록에서 조건을 체크하려면 전체를 하나의 true/false 를 반환하게 만들어야 했다. | * 1.2 에서는 Argument 의 Closure 블록에서 조건을 체크하려면 전체를 하나의 true/false 를 반환하게 만들어야 했다. | ||
* 1.3 부터는 각 줄에 대해 '' | * 1.3 부터는 각 줄에 대해 '' | ||
+ | |||
+ | <code groovy> | ||
+ | // 1.2 방식 | ||
+ | 1 * mock.foo({ it.size() > 1 && | ||
+ | |||
+ | // 1.3 - 한줄 한줄의 boolean 반환 결과를 자동 체크함. | ||
+ | 1 * mock.foo({ | ||
+ | it.size() > 1 | ||
+ | it[0].length == 2 }) | ||
+ | </ | ||
+ | |||
* 그러나 그로인해서 | * 그러나 그로인해서 | ||
- | * [[http:// | ||
<code groovy> | <code groovy> | ||
+ | // Argument capture | ||
def extern = null | def extern = null | ||
줄 137: | 줄 150: | ||
1 * mock.foo( { it.size() > 0 }) >> { extern = it[0] } // 1.3 방식 | 1 * mock.foo( { it.size() > 0 }) >> { extern = it[0] } // 1.3 방식 | ||
</ | </ | ||
+ | |||
===== 참조 ===== | ===== 참조 ===== | ||
* [[http:// | * [[http:// |