我正在使用Java
编写Groovy Spock
应用程序进行测试。在控制器中,我想测试实用程序功能中是否发生了某些事情。
Utilitys函数接受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() }
}
最佳答案
模拟的初始化错误,请参见以下初始化:
Consumer<User> successConsumer = new Consumer<User>()
Consumer<Throwable> failureConsumer = new Consumer<Throwable>()
TokenHandler tokenHandlerMock = Mock(TokenHandler){
th.authenticate(_) >> [token, successConsumer, failureConsumer]
}
关于java - 从Spock模拟执行回调,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40019031/