Mock

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);

 

posted @ 2020-04-02 17:37  Anna_blog  阅读(119)  评论(0)    收藏  举报