⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cglibcoremock.java

📁 不管是测试驱动开发或者是其它的开发模式
💻 JAVA
字号:
/*  Copyright (c) 2000-2004 jMock.org
 */
package org.jmock.cglib;

import java.lang.reflect.Method;
import net.sf.cglib.proxy.Enhancer;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;
import org.jmock.core.AbstractDynamicMock;
import org.jmock.core.Invocation;
import org.jmock.core.InvocationDispatcher;
import org.jmock.core.LIFOInvocationDispatcher;


public class CGLIBCoreMock
        extends AbstractDynamicMock
        implements MethodInterceptor
{
    private Object proxy;

    public CGLIBCoreMock( Class mockedType ) {
        this(mockedType,
             mockNameFromClass(mockedType),
             new LIFOInvocationDispatcher());
    }

    public CGLIBCoreMock( Class mockedType, String name ) {
        this(mockedType, name, new LIFOInvocationDispatcher());
    }

    public CGLIBCoreMock( Class mockedType,
                          String name,
                          InvocationDispatcher invocationDispatcher ) {
        super(mockedType, name, invocationDispatcher);
        this.proxy = Enhancer.create(mockedType, this);
    }

    public Object proxy() {
        return this.proxy;
    }

    public Object intercept( Object thisProxy, Method method, Object[] args,
                             MethodProxy superProxy )
            throws Throwable {
        Invocation invocation = new Invocation(proxy, method, args);
        return mockInvocation(invocation);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -