我需要模拟apache.commons.io.IOUtils类的apache.commons.io.IOUtils()。我有一个类似的代码片段:
PowerMockito.mockStatic(IOUtils.class);
PowerMockito.when(IOUtils.toByteArray(any(InputStream.class))).thenReturn(mockByteArray);但是我从org.apache.commons.io.IOUtils.copyLarge()函数中获得了org.apache.commons.io.IOUtils.copyLarge。
发布于 2014-08-12 08:01:58
看起来,该方法没有被模拟,而是调用了真正的方法。
PowerMock使用可以模拟静态方法的特殊测试运行程序。
将@RunWith(PowerMockRunner.class)和@PrepareForTest(IOUtils.class)注释放在测试类上。
参见文档的示例
https://stackoverflow.com/questions/25258876
复制相似问题