PowerMock
package
testCompile 'org.powermock:powermock-module-junit4:1.7.4'
testCompile 'org.powermock:powermock-api-mockito2:1.7.4'
注释
@RunWith(PowerMockRunner.class)
@PrepareForTest({ AwsConfig.class, S3ObjectLock.class, DownloadProcessor.class ,DbConfig.class})
@PowerMockIgnore({ "javax.management.*", "javax.xml.parsers.*", "com.sun.org.apache.xerces.internal.jaxp.*", "ch.qos.logback.*", "org.slf4j.*", "javax.net.ssl.*" })
继承方法的mock
Method methodS3InputStream = PowerMockito.method(DeleteProcessor.class, "s3InputStream");
PowerMockito.replace(methodS3InputStream).with(new InvocationHandler() {
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
return inputStream;
}
});
static
//mock AwsConfig
AwsConfig awsConfig = PowerMockito.mock(AwsConfig.class);
PowerMockito.mockStatic(AwsConfig.class);
PowerMockito.when(AwsConfig.defaultConfig()).thenReturn(awsConfig);