Java 类org.mockito.internal.invocation.MockitoMethod 实例源码
项目:mockito-cglib
文件:MethodInterceptorFilter.java
public Object intercept(Object proxy, Method method, Object[] args, MethodProxy methodProxy)
throws Throwable {
if (objectMethodsGuru.isEqualsMethod(method)) {
return proxy == args[0];
} else if (objectMethodsGuru.isHashCodeMethod(method)) {
return hashCodeForMock(proxy);
} else if (acrossJVMSerializationFeature.isWriteReplace(method)) {
return acrossJVMSerializationFeature.writeReplace(proxy);
}
MockitoMethodProxy mockitoMethodProxy = createMockitoMethodProxy(methodProxy);
new CGLIBHacker().setMockitoNamingPolicy(methodProxy);
MockitoMethod mockitoMethod = createMockitoMethod(method);
CleanTraceRealMethod realMethod = new CleanTraceRealMethod(mockitoMethodProxy);
Invocation invocation = new InvocationImpl(proxy, mockitoMethod, args, SequenceNumber.next(), realMethod);
return handler.handle(invocation);
}
项目:astor
文件:MethodInterceptorFilter.java
public Object intercept(Object proxy, Method method, Object[] args, MethodProxy methodProxy)
throws Throwable {
if (objectMethodsGuru.isEqualsMethod(method)) {
return proxy == args[0];
} else if (objectMethodsGuru.isHashCodeMethod(method)) {
return hashCodeForMock(proxy);
} else if (acrossJVMSerializationFeature.isWriteReplace(method)) {
return acrossJVMSerializationFeature.writeReplace(proxy);
}
MockitoMethodProxy mockitoMethodProxy = createMockitoMethodProxy(methodProxy);
cglibHacker.setMockitoNamingPolicy(mockitoMethodProxy);
MockitoMethod mockitoMethod = createMockitoMethod(method);
FilteredCGLIBProxyRealMethod realMethod = new FilteredCGLIBProxyRealMethod(mockitoMethodProxy);
Invocation invocation = new InvocationImpl(proxy, mockitoMethod, args, SequenceNumber.next(), realMethod);
return handler.handle(invocation);
}
项目:mockito-cglib
文件:MethodInterceptorFilter.java
public MockitoMethod createMockitoMethod(Method method) {
if (mockSettings.isSerializable()) {
return new SerializableMethod(method);
} else {
return new DelegatingMethod(method);
}
}
项目:mockito-cglib
文件:MethodInterceptorFilterTest.java
@Test
public void shouldCreateSerializableMethodIfIsSerializableMock() throws Exception {
MethodInterceptorFilter filter = new MethodInterceptorFilter(handler, (MockSettingsImpl) withSettings().serializable());
Method method = new InvocationBuilder().toInvocation().getMethod();
// when
MockitoMethod mockitoMethod = filter.createMockitoMethod(method);
// then
assertThat(mockitoMethod, instanceOf(SerializableMethod.class));
}
项目:mockito-cglib
文件:MethodInterceptorFilterTest.java
@Test
public void shouldCreateJustDelegatingMethodIfIsNotSerializableMock() throws Exception {
MethodInterceptorFilter filter = new MethodInterceptorFilter(handler, (MockSettingsImpl) withSettings());
Method method = new InvocationBuilder().toInvocation().getMethod();
// when
MockitoMethod mockitoMethod = filter.createMockitoMethod(method);
// then
assertThat(mockitoMethod, instanceOf(DelegatingMethod.class));
}
项目:astor
文件:MethodInterceptorFilterTest.java
@Test
public void shouldCreateSerializableMethodIfIsSerializableMock() throws Exception {
MethodInterceptorFilter filter = new MethodInterceptorFilter(handler, (MockSettingsImpl) withSettings().serializable());
Method method = new InvocationBuilder().toInvocation().getMethod();
// when
MockitoMethod mockitoMethod = filter.createMockitoMethod(method);
// then
assertThat(mockitoMethod, instanceOf(SerializableMethod.class));
}
项目:astor
文件:MethodInterceptorFilterTest.java
@Test
public void shouldCreateJustDelegatingMethodIfIsNotSerializableMock() throws Exception {
MethodInterceptorFilter filter = new MethodInterceptorFilter(handler, (MockSettingsImpl) withSettings());
Method method = new InvocationBuilder().toInvocation().getMethod();
// when
MockitoMethod mockitoMethod = filter.createMockitoMethod(method);
// then
assertThat(mockitoMethod, instanceOf(DelegatingMethod.class));
}
项目:astor
文件:MethodInterceptorFilter.java
public MockitoMethod createMockitoMethod(Method method) {
if (mockSettings.isSerializable()) {
return new SerializableMethod(method);
} else {
return new DelegatingMethod(method);
}
}
项目:astor
文件:MethodInterceptorFilterTest.java
@Test
public void shouldCreateSerializableMethodIfIsSerializableMock() throws Exception {
MethodInterceptorFilter filter = new MethodInterceptorFilter(handler, (MockSettingsImpl) withSettings().serializable());
Method method = new InvocationBuilder().toInvocation().getMethod();
// when
MockitoMethod mockitoMethod = filter.createMockitoMethod(method);
// then
assertThat(mockitoMethod, instanceOf(SerializableMethod.class));
}
项目:astor
文件:MethodInterceptorFilterTest.java
@Test
public void shouldCreateJustDelegatingMethodIfIsNotSerializableMock() throws Exception {
MethodInterceptorFilter filter = new MethodInterceptorFilter(handler, (MockSettingsImpl) withSettings());
Method method = new InvocationBuilder().toInvocation().getMethod();
// when
MockitoMethod mockitoMethod = filter.createMockitoMethod(method);
// then
assertThat(mockitoMethod, instanceOf(DelegatingMethod.class));
}
项目:dexmaker
文件:InterceptedInvocation.java
/**
* Create a new invocation.
*
* @param mock mocked instance
* @param method method invoked
* @param arguments arguments to the method
* @param superMethod super method
* @param sequenceNumber sequence number of the invocation
*/
InterceptedInvocation(Object mock, MockitoMethod method, Object[] arguments,
SuperMethod superMethod, int sequenceNumber) {
this.mock = mock;
this.method = method;
this.arguments = ArgumentsProcessor.expandArgs(method, arguments);
this.rawArguments = arguments;
this.superMethod = superMethod;
this.sequenceNumber = sequenceNumber;
location = new LocationImpl();
}
项目:dexmaker
文件:InterceptedInvocation.java
/**
* Create a new invocation.
*
* @param mock mocked instance
* @param method method invoked
* @param arguments arguments to the method
* @param superMethod super method
* @param sequenceNumber sequence number of the invocation
*/
InterceptedInvocation(Object mock, MockitoMethod method, Object[] arguments,
SuperMethod superMethod, int sequenceNumber) {
this.mock = mock;
this.method = method;
this.arguments = ArgumentsProcessor.expandArgs(method, arguments);
this.rawArguments = arguments;
this.superMethod = superMethod;
this.sequenceNumber = sequenceNumber;
location = new LocationImpl();
}
项目:astor
文件:ObjectMethodsGuru.java
public boolean isToString(MockitoMethod method) {
return method.getReturnType() == String.class && method.getParameterTypes().length == 0
&& method.getName().equals("toString");
}
项目:astor
文件:ObjectMethodsGuru.java
public boolean isToString(MockitoMethod method) {
return method.getReturnType() == String.class
&& method.getParameterTypes().length == 0
&& method.getName().equals("toString");
}