문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
java:spock [2020/08/27 13:33] kwon37xi [Argument 의 각 줄을 assert 하게 변경되면서 capture 방식도 바뀜] |
java:spock [2020/08/27 13:35] (현재) kwon37xi [Mock Argument Capture] |
||
---|---|---|---|
줄 45: | 줄 45: | ||
===== Mock Argument Capture ===== | ===== Mock Argument Capture ===== | ||
- | [[http:// | ||
- | |||
<code groovy> | <code groovy> | ||
- | SaveCommentEvent capturedEvent | + | // Argument capture |
- | + | def extern = null | |
- | given: | + | |
- | ... | + | 1 * mock.foo( { extern |
- | + | 1 * mock.foo( { it.size() > 0 }) >> { extern | |
- | when: | + | |
- | | + | |
- | + | ||
- | then: | + | |
- | 1 * eventBus.fireEvent({capturedEvent | + | |
- | + | ||
- | capturedEvent instanceof SaveModelEvent | + | |
- | capturedEvent.newModel == newModel | + | |
- | capturedEvent.oldModel | + | |
</ | </ | ||
- | * void 메도드의 경우 아래 참조. | + | * void 메소드의 경우 아래 참조. |
===== void method Mock - 인자 값 조정 혹은 throw exception ===== | ===== void method Mock - 인자 값 조정 혹은 throw exception ===== | ||
줄 98: | 줄 87: | ||
===== 기타 Mock ===== | ===== 기타 Mock ===== | ||
<code groovy> | <code groovy> | ||
- | 0 * _ | + | 0 * _ |
</ | </ | ||
줄 120: | 줄 109: | ||
===== Spock 1.3 & groovy 2.5 문제/ | ===== Spock 1.3 & groovy 2.5 문제/ | ||
+ | * [[http:// | ||
+ | |||
==== where 의 변수명이 서로 다른 메소드에 동일하게 존재하는데 타입이 다를경우 ==== | ==== where 의 변수명이 서로 다른 메소드에 동일하게 존재하는데 타입이 다를경우 ==== | ||
줄 140: | 줄 131: | ||
* 그러나 그로인해서 | * 그러나 그로인해서 | ||
- | * [[http:// | ||
<code groovy> | <code groovy> | ||
줄 149: | 줄 139: | ||
1 * mock.foo( { it.size() > 0 }) >> { extern = it[0] } // 1.3 방식 | 1 * mock.foo( { it.size() > 0 }) >> { extern = it[0] } // 1.3 방식 | ||
</ | </ | ||
+ | |||
===== 참조 ===== | ===== 참조 ===== | ||
* [[http:// | * [[http:// |