我正在使用Java
编写Groovy Spock
应用程序进行测试。在控制器中,我想测试实用程序功能中发生的事情
实用程序函数接受String
和2个回调(Consumer
)
模拟效用函数,我该如何执行其中一个回调?
爪哇
public void authenticate(String token, Consumer<User> success, Consumer<Throwable> failure)
Groovy的
def "..."(){
given:
TokenHandler th = Mock()
// execute the failure callback
th.authenticate(_) >> { token, success, failure -> failure.accept() }
}
答案 0 :(得分:0)
模拟的初始化是错误的,请参阅以下初始化:
Consumer<User> successConsumer = new Consumer<User>()
Consumer<Throwable> failureConsumer = new Consumer<Throwable>()
TokenHandler tokenHandlerMock = Mock(TokenHandler){
th.authenticate(_) >> [token, successConsumer, failureConsumer]
}