gpt4 book ai didi

java - 如何使用回调测试函数?

转载 作者:搜寻专家 更新时间:2023-11-01 02:41:32 34 4
gpt4 key购买 nike

假设我们有一个这样的回调函数接口(interface):

public interface Callback
{
void foo();
}

我们有一个调用作为参数给出的回调的方法:

public void doSomething(final Callback callback)
{
// Do something, like asynchronously fetch something from a server
asyncStuff.doSomethingAsync(new AsyncResponseHandler()
{
@Override
public void asyncStuffDone()
{
// Call the callback
callback.foo();
}
});
}

现在,问题来了:在这种情况下,如何测试回调是否确实被调用了?

最佳答案

为测试提供模拟 Callback 对象并验证该方法是否被调用。例如,使用 Mockito 作为模拟库,您将创建一个模拟对象(安排):

Callback myMock = mock(Callback.class);

然后将其提供给被测试的代码(act):

someObject.doSomething(myMock);

并验证该方法已被调用(断言):

verify(myMock, times(1)).foo();

关于java - 如何使用回调测试函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32050478/

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