문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 | 다음 판 양쪽 다음 판 | ||
java:spock [2018/07/12 08:13] kwon37xi [Mock Argument Capture] |
java:spock [2018/07/12 08:21] kwon37xi [void method Mock - throw exception] |
||
---|---|---|---|
줄 62: | 줄 62: | ||
</ | </ | ||
- | ===== void method Mock - throw exception ===== | + | ===== void method Mock - 인자 값 조정 혹은 |
* [[http:// | * [[http:// | ||
<code groovy> | <code groovy> | ||
+ | // an interface with two methods: exists(user), | ||
+ | def userService = Mock(UserService) | ||
+ | |||
+ | // a controller to test, that will use mock of the service: | ||
+ | def controller = new UserController(userService) | ||
+ | |||
+ | def ' | ||
+ | given: | ||
+ | def username = ' | ||
+ | userService.exists(_ as User) >> false | ||
+ | userService.add(_ as User) >> { User user -> | ||
+ | throw new IllegalArgumentException(user.name) | ||
+ | } | ||
+ | |||
+ | when: | ||
+ | controller.addUser(username) | ||
+ | |||
+ | then: | ||
+ | def e = thrown(IllegalArgumentException) | ||
+ | e.message == username | ||
+ | } | ||
</ | </ | ||