gpt4 book ai didi

java - 从 spock 模拟执行回调

转载 作者:太空宇宙 更新时间:2023-11-04 12:09:20 24 4
gpt4 key购买 nike

我正在使用 Groovy Spock 编写一个 Java 应用程序进行测试。在 Controller 中,我想测试实用程序函数中是否发生了某些情况。
实用程序函数接受一个 String 和 2 个回调 (Consumer)。
模拟实用程序函数,如何执行其中一个回调?

Java

public void authenticate(String token, Consumer<User> success, Consumer<Throwable> failure)

绝妙的

def "..."(){
given:
TokenHandler th = Mock()
// execute the failure callback
th.authenticate(_) >> { token, success, failure -> failure.accept() }
}

最佳答案

mock的初始化错误请看下面的初始化:

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com