模拟静态方法链

时间:2018-08-21 23:26:18

标签: java junit static powermock powermockito

我正在尝试模拟静态方法

StaticClass.staticMethod(id).setContentType("text/plain").build();

我能够使用PowerMockito模拟静态方法及其返回类型,如下所示:

PowerMockito.when(StaticClass.staticMethod(id)).thenReturn(returnValue);

但是如何将该值发送到链接方法setContentType()?

1 个答案:

答案 0 :(得分:1)

您需要多次。您将需要模拟另外两个对象staticMethodcontentType

PowerMockito.when(StaticClass.staticMethod(id)).thenReturn(staticMethod);
PowerMockito.when(staticMethod.setContentType("text/plain")).thenReturn(contentType);
PowerMockito.when(contentType.build()).thenReturn(returnValue);