下面列出了怎么用org.mockito.MockingDetails的API类实例代码及写法,或者点击链接到github查看源代码。
@Test
public void verifyMockingDetails() throws Exception {
MockitoSession session = mockitoSession().mockStatic(SuperClass.class)
.spyStatic(SubClass.class).startMocking();
try {
when(SuperClass.returnB()).thenReturn("fakeB");
SuperClass.returnB();
SuperClass.returnC();
MockingDetails superClassDetails = mockingDetails(staticMockMarker(SuperClass.class));
assertTrue(superClassDetails.isMock());
assertFalse(superClassDetails.isSpy());
assertEquals(2, superClassDetails.getInvocations().size());
assertEquals(1, superClassDetails.getStubbings().size());
MockingDetails subClassDetails = mockingDetails(staticMockMarker(SubClass.class));
assertTrue(subClassDetails.isMock());
assertTrue(subClassDetails.isSpy());
} finally {
session.finishMocking();
}
}
@Test
public void testHttpClientWithFeign() {
Client delegate = this.feignClient.getDelegate();
assertThat(feign.okhttp.OkHttpClient.class.isInstance(delegate)).isTrue();
feign.okhttp.OkHttpClient okHttpClient = (feign.okhttp.OkHttpClient) delegate;
OkHttpClient httpClient = getField(okHttpClient, "delegate");
MockingDetails httpClientDetails = mockingDetails(httpClient);
assertThat(httpClientDetails.isMock()).isTrue();
}
@Test
public void testHttpClientWithFeign() {
Client delegate = this.feignClient.getDelegate();
assertThat(ApacheHttpClient.class.isInstance(delegate)).isTrue();
ApacheHttpClient apacheHttpClient = (ApacheHttpClient) delegate;
HttpClient httpClient = getField(apacheHttpClient, "client");
MockingDetails httpClientDetails = mockingDetails(httpClient);
assertThat(httpClientDetails.isMock()).isTrue();
}
/**
* Delegates call to {@link Mockito#mockingDetails(Object)}.
*/
default MockingDetails mockingDetails(Object toInspect) {
return Mockito.mockingDetails(toInspect);
}
public MockingDetails mockingDetails(Object toInspect) {
return new DefaultMockingDetails(toInspect, new MockUtil());
}