首页 > 代码库 > powermock

powermock

mock静态方法

@RunWith(PowerMockRunner.class)
@PrepareForTest({CaseAction.class, OssUtil.class})

PowerMockito.mockStatic(OssUtil.class);
PowerMockito.when(OssUtil.class,"deleteFile",Mockito.anyString(),Mockito.anyInt()).thenReturn(true);

mockHttpServletResponse,获取response输出

//mock response
MockHttpServletResponse response = new MockHttpServletResponse();
caseAction.doDeleteAccessory("a/b", "c.txt", 1000, 1, response);

byte[] content = response.getContentAsByteArray();
Assert.assertEquals("{\"errMsg\":\"\",\"result\":\"{\\\"id\\\":\\\"1\\\",\\\"status\\\":\\\"ok\\\"}\"}",new String(content,"GB2312"));

 mock内部创建对象方法的调用

ParseContext parseContext = PowerMockito.mock(ParseContext.class);
PowerMockito.whenNew(ParseContext.class).withAnyArguments().thenReturn(parseContext);
TreeNode treeNode = new TreeNode();
treeNode.setName("case1");
PowerMockito.when(parseContext.parser()).thenReturn(treeNode);

powermock