如何使用Mockito返回不同的子类

时间:2015-12-02 18:37:44

标签: mockito

Mockito如何返回不同的子类。 请考虑以下事项。

when(response.readEntity(any(Class.class))).thenReturn(baseModel);

我想返回扩展baseModel的不同类。

谢谢,

2 个答案:

答案 0 :(得分:0)

我已经看到推荐的替代语法,但出于其他原因:

doReturn(baseModel)
    .when(response).readEntity(any(Class.class));

它的警告(具有讽刺意义的是帮助你)是它不会强制执行返回类型。

答案 1 :(得分:0)

when(response.readEntity(any(Class.class))).thenReturn(baseModel);

你告诉Mockito你正在传递readEntity任何类对象,而readEntity的泛型要求你返回类型为Class的对象(包括Class的子类,如果存在的话)。

如果您要返回任何对象,则应该:

when(response.readEntity(any(Object.class))).thenReturn(baseModel);

...或

when(response.readEntity(anyObject())).thenReturn(baseModel);