Java 类org.mockito.internal.InternalMockHandler 实例源码
项目:https-github.com-g0t4-jenkins2-course-spring-boot
文件:MockitoAopProxyTargetInterceptor.java
Verification(Object target) {
MockUtil mockUtil = new MockUtil();
InternalMockHandler<?> handler = mockUtil.getMockHandler(target);
InvocationContainer container = handler.getInvocationContainer();
Field field = ReflectionUtils.findField(container.getClass(),
"mockingProgress");
ReflectionUtils.makeAccessible(field);
this.progress = (MockingProgress) ReflectionUtils.getField(field, container);
}
项目:spring-boot-concourse
文件:MockitoAopProxyTargetInterceptor.java
Verification(Object target) {
MockUtil mockUtil = new MockUtil();
InternalMockHandler<?> handler = mockUtil.getMockHandler(target);
InvocationContainer container = handler.getInvocationContainer();
Field field = ReflectionUtils.findField(container.getClass(),
"mockingProgress");
ReflectionUtils.makeAccessible(field);
this.progress = (MockingProgress) ReflectionUtils.getField(field, container);
}
项目:powermock
文件:MockitoMethodInvocationControl.java
private MockHandler replaceMatchersBinderIfNeeded(MockHandler mockHandler) {
if(!Whitebox.getFieldsOfType(mockHandler, MatchersBinder.class).isEmpty()) {
Whitebox.setInternalState(mockHandler, new PowerMockMatchersBinder());
} else if(!Whitebox.getFieldsOfType(mockHandler, InternalMockHandler.class).isEmpty()) {
final MockHandler internalMockHandler = Whitebox.getInternalState(mockHandler, MockHandler.class);
return replaceMatchersBinderIfNeeded(internalMockHandler);
}
return mockHandler;
}
项目:mockito-cglib
文件:CglibMockMaker.java
private InternalMockHandler cast(MockHandler handler) {
if (!(handler instanceof InternalMockHandler)) {
throw new MockitoException("At the moment you cannot provide own implementations of MockHandler." +
"\nPlease see the javadocs for the MockMaker interface.");
}
return (InternalMockHandler) handler;
}
项目:astor
文件:UnusedStubsFinder.java
/**
* Finds all unused stubs for given mocks
*
* @param mocks
*/
public List<Invocation> find(List<?> mocks) {
List<Invocation> unused = new LinkedList<Invocation>();
for (Object mock : mocks) {
InternalMockHandler<Object> handler = new MockUtil().getMockHandler(mock);
List<StubbedInvocationMatcher> fromSingleMock = handler.getInvocationContainer().getStubbedInvocations();
for(StubbedInvocationMatcher s : fromSingleMock) {
if (!s.wasUsed()) {
unused.add(s.getInvocation());
}
}
}
return unused;
}
项目:astor
文件:AllInvocationsFinder.java
/**
* gets all invocations from mocks. Invocations are ordered earlier first.
*
* @param mocks mocks
* @return invocations
*/
public List<Invocation> find(List<?> mocks) {
Set<Invocation> invocationsInOrder = new TreeSet<Invocation>(new SequenceNumberComparator());
for (Object mock : mocks) {
InternalMockHandler<Object> handler = new MockUtil().getMockHandler(mock);
List<Invocation> fromSingleMock = handler.getInvocationContainer().getInvocations();
invocationsInOrder.addAll(fromSingleMock);
}
return new LinkedList<Invocation>(invocationsInOrder);
}
项目:astor
文件:ReturnsDeepStubs.java
private Object deepStub(InvocationOnMock invocation, GenericMetadataSupport returnTypeGenericMetadata) throws Throwable {
InternalMockHandler<Object> handler = new MockUtil().getMockHandler(invocation.getMock());
InvocationContainerImpl container = (InvocationContainerImpl) handler.getInvocationContainer();
// matches invocation for verification
for (StubbedInvocationMatcher stubbedInvocationMatcher : container.getStubbedInvocations()) {
if(container.getInvocationForStubbing().matches(stubbedInvocationMatcher.getInvocation())) {
return stubbedInvocationMatcher.answer(invocation);
}
}
// record deep stub answer
return recordDeepStubAnswer(newDeepStubMock(returnTypeGenericMetadata), container);
}
项目:astor
文件:MockHandlerFactory.java
public InternalMockHandler create(MockCreationSettings settings) {
InternalMockHandler handler = new MockHandlerImpl(settings);
InternalMockHandler nullResultGuardian = new NullResultGuardian(handler);
InternalMockHandler notifier = new InvocationNotifierHandler(nullResultGuardian, settings);
return notifier;
}
项目:astor
文件:CglibMockMaker.java
private InternalMockHandler cast(MockHandler handler) {
if (!(handler instanceof InternalMockHandler)) {
throw new MockitoException("At the moment you cannot provide own implementations of MockHandler." +
"\nPlease see the javadocs for the MockMaker interface.");
}
return (InternalMockHandler) handler;
}
项目:astor
文件:MockUtil.java
public <T> void resetMock(T mock) {
InternalMockHandler oldHandler = (InternalMockHandler) getMockHandler(mock);
MockCreationSettings settings = oldHandler.getMockSettings();
MockHandler newHandler = new MockHandlerFactory().create(settings);
mockMaker.resetMock(mock, newHandler, settings);
}
项目:astor
文件:MockUtil.java
public <T> InternalMockHandler<T> getMockHandler(T mock) {
if (mock == null) {
throw new NotAMockException("Argument should be a mock, but is null!");
}
if (isMockitoMock(mock)) {
MockHandler handler = mockMaker.getHandler(mock);
return (InternalMockHandler) handler;
} else {
throw new NotAMockException("Argument should be a mock, but is: " + mock.getClass());
}
}
项目:astor
文件:MockHandlerFactoryTest.java
@Test
//see issue 331
public void handle_result_must_not_be_null_for_primitives() throws Throwable {
//given:
MockCreationSettings settings = (MockCreationSettings) new MockSettingsImpl().defaultAnswer(new Returns(null));
InternalMockHandler handler = new MockHandlerFactory().create(settings);
mock.intReturningMethod();
Invocation invocation = super.getLastInvocation();
//when:
Object result = handler.handle(invocation);
//then null value is not a valid result for a primitive
assertNotNull(result);
assertEquals(0, result);
}
项目:astor
文件:MockHandlerFactoryTest.java
@Test
//see issue 331
public void valid_handle_result_is_permitted() throws Throwable {
//given:
MockCreationSettings settings = (MockCreationSettings) new MockSettingsImpl().defaultAnswer(new Returns(123));
InternalMockHandler handler = new MockHandlerFactory().create(settings);
mock.intReturningMethod();
Invocation invocation = super.getLastInvocation();
//when:
Object result = handler.handle(invocation);
//then
assertEquals(123, result);
}
项目:powermock
文件:PowerMockMethodInterceptorFilter.java
public PowerMockMethodInterceptorFilter(InternalMockHandler handler,
MockCreationSettings mockSettings) {
super(handler, mockSettings);
}
项目:mockito-cglib
文件:MethodInterceptorFilter.java
public MethodInterceptorFilter(InternalMockHandler handler, MockCreationSettings mockSettings) {
this.handler = handler;
this.mockSettings = mockSettings;
}
项目:mockito-cglib
文件:CglibMockMaker.java
public <T> T createMock(MockCreationSettings<T> settings, MockHandler handler) {
InternalMockHandler mockitoHandler = cast(handler);
new AcrossJVMSerializationFeature().enableSerializationAcrossJVM(settings);
return new ClassImposterizer(new InstantiatorProvider().getInstantiator(settings)).imposterise(
new MethodInterceptorFilter(mockitoHandler, settings), settings.getTypeToMock(), settings.getExtraInterfaces());
}
项目:astor
文件:InvocationNotifierHandler.java
public InvocationNotifierHandler(InternalMockHandler<T> mockHandler, MockCreationSettings settings) {
this.mockHandler = mockHandler;
this.invocationListeners = settings.getInvocationListeners();
}
项目:astor
文件:NullResultGuardian.java
public NullResultGuardian(InternalMockHandler delegate) {
this.delegate = delegate;
}
项目:astor
文件:MethodInterceptorFilter.java
public MethodInterceptorFilter(InternalMockHandler handler, MockCreationSettings mockSettings) {
this.handler = handler;
this.mockSettings = mockSettings;
}
项目:astor
文件:CglibMockMaker.java
public <T> T createMock(MockCreationSettings<T> settings, MockHandler handler) {
InternalMockHandler mockitoHandler = cast(handler);
new AcrossJVMSerializationFeature().enableSerializationAcrossJVM(settings);
return ClassImposterizer.INSTANCE.imposterise(
new MethodInterceptorFilter(mockitoHandler, settings), settings.getTypeToMock(), settings.getExtraInterfaces());
}