Unit testing 如何使用mockito模拟匿名回调中的参数?
我想在下面用Mockito对我的代码进行单元测试,有人能告诉我如何模拟回调的响应吗?回调在我的代码中是匿名的?特别是,如何验证是否使用模拟响应调用了doSomethingOnResponse()Unit testing 如何使用mockito模拟匿名回调中的参数?,unit-testing,callback,mockito,junit4,Unit Testing,Callback,Mockito,Junit4,我想在下面用Mockito对我的代码进行单元测试,有人能告诉我如何模拟回调的响应吗?回调在我的代码中是匿名的?特别是,如何验证是否使用模拟响应调用了doSomethingOnResponse() public void runTask() { Data data = null; ClassA objA = new ClassA(new Callback() { @Override public void onResponse(Response
public void runTask() {
Data data = null;
ClassA objA = new ClassA(new Callback() {
@Override
public void onResponse(Response response) {
data = getSomethingFromResponse(response);
}
};
//this is a synchronous call
objA.run();
doSomethingElse(data); //data gets assigned from the callback
}
提前多谢 您的用例匹配吗?您将回调作为构造函数参数而不是方法参数传递,但答案是相同的——使用ArgumentCaptor或答案。是的,由于设计限制,我必须将回调传递给构造函数,因此如果我模仿您提到的用例,我怎么做方法调用的when部分呢?我不太理解你的问题。在哪里调用了
onResponse
?在示例代码中,根本不使用response
参数-这是故意的吗?也许一个真实的(可编译的)示例会有所帮助。对不起,我刚刚错过了doSomethingOnResponse(响应)中的“响应”,它确实被使用了,这正是我试图验证的。有人能给我一个示例吗?谢谢