EasyMock 和通用参数
EasyMock and generic params
我正在尝试掌握 EasyMock 来模拟对 Jersey 客户端 APIs 的一些调用...
我正在尝试模拟对以下调用生成器 API 的调用:
<T> T post(Entity<?> entity, Class<T> responseType);
执行以下操作:
EasyMock.expect(mockInvocationBuilder.post(Entity.json(request), Response.class)).andReturn(mockResponse).anyTimes();
这给了我以下错误:
java.lang.AssertionError:
Unexpected method call Builder.post(Entity{entity=com.ibm.apin.apim.request.CreateOrgRequest@936a7073, variant=Variant[mediaType=application/json, language=null, encoding=null], annotations=[]}, class javax.ws.rs.core.Response):
任何人都可以看到我在这里做错了什么以及我如何正确地模拟它吗?
To match an actual method call on the Mock Object with an expectation, Object
arguments are by default compared with equals()
.
您必须覆盖 equals()
, use a built-in argument matcher (like EasyMock#anyObject
), write your own IArgumentMatcher
or use a Capture
。
我正在尝试掌握 EasyMock 来模拟对 Jersey 客户端 APIs 的一些调用... 我正在尝试模拟对以下调用生成器 API 的调用:
<T> T post(Entity<?> entity, Class<T> responseType);
执行以下操作:
EasyMock.expect(mockInvocationBuilder.post(Entity.json(request), Response.class)).andReturn(mockResponse).anyTimes();
这给了我以下错误:
java.lang.AssertionError:
Unexpected method call Builder.post(Entity{entity=com.ibm.apin.apim.request.CreateOrgRequest@936a7073, variant=Variant[mediaType=application/json, language=null, encoding=null], annotations=[]}, class javax.ws.rs.core.Response):
任何人都可以看到我在这里做错了什么以及我如何正确地模拟它吗?
To match an actual method call on the Mock Object with an expectation,
Object
arguments are by default compared withequals()
.
您必须覆盖 equals()
, use a built-in argument matcher (like EasyMock#anyObject
), write your own IArgumentMatcher
or use a Capture
。