我希望做到以下几点:
when(response.readEntity(entityTypeCaptor)).thenReturn(100);
其中readEntity
是:
public abstract <T> T readEntity(Class<T> entityType);
我测试的代码如下:
int number = response.readEntity(Integer.class);
我应该使用?
声明entityTypeCaptor的类型答案 0 :(得分:0)
您可以使用此方法:
when(response.readEntity(any())).thenReturn(100);
如果你不检查entityTypeCaptor
的确切类型(或者你不知道确切的类型),否则你可以这样做:
when(response.readEntity(eq(Integer.class))).thenReturn(100);
并检查确切类型,在本例中为Class<Integer>
。
以下是代码示例:
@Test
public void test() {
//Given
Response response = Mockito.mock(Response.class);
//THEN
when(response.readEntity(eq(Integer.class))).thenReturn(100);
//WHEN
Integer result = response.readEntity(Integer.class);
assertEquals(100, result.intValue());
}
class Response {
public <T> T readEntity(Class<T> entityType){
return null;
}
}