当前位置: 首页>>代码示例>>Java>>正文


Java Enhancer类代码示例

本文整理汇总了Java中org.mockito.cglib.proxy.Enhancer的典型用法代码示例。如果您正苦于以下问题:Java Enhancer类的具体用法?Java Enhancer怎么用?Java Enhancer使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


Enhancer类属于org.mockito.cglib.proxy包,在下文中一共展示了Enhancer类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: isProxy

import org.mockito.cglib.proxy.Enhancer; //导入依赖的package包/类
/**
 * {@inheritDoc}
 */
public boolean isProxy(Class<?> type) {
    if (type == null) {
        return false;
    }
    return type.getName().contains("$$EnhancerByMockitoWithCGLIB$$") || Enhancer.isEnhanced(type);
}
 
开发者ID:awenblue,项目名称:powermock,代码行数:10,代码来源:ProxyFrameworkImpl.java

示例2: should_scream_when_enhanced_but_not_a_mock_passed

import org.mockito.cglib.proxy.Enhancer; //导入依赖的package包/类
@Test
public void should_scream_when_enhanced_but_not_a_mock_passed() {
    Object o = Enhancer.create(ArrayList.class, NoOp.INSTANCE);
    try {
        mockUtil.getMockHandler(o);
        fail();
    } catch (NotAMockException e) {}
}
 
开发者ID:mockito,项目名称:mockito-cglib,代码行数:9,代码来源:MockUtilTest.java

示例3: shouldScreamWhenEnhancedButNotAMockPassed

import org.mockito.cglib.proxy.Enhancer; //导入依赖的package包/类
@Test 
public void shouldScreamWhenEnhancedButNotAMockPassed() {
    Object o = Enhancer.create(ArrayList.class, NoOp.INSTANCE);
    try {
        mockUtil.getMockHandler(o);
        fail();
    } catch (NotAMockException e) {}
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:9,代码来源:MockUtilTest.java

示例4: should_scream_when_enhanced_but_not_a_mock_passed

import org.mockito.cglib.proxy.Enhancer; //导入依赖的package包/类
@Test 
public void should_scream_when_enhanced_but_not_a_mock_passed() {
    Object o = Enhancer.create(ArrayList.class, NoOp.INSTANCE);
    try {
        mockUtil.getMockHandler(o);
        fail();
    } catch (NotAMockException e) {}
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:9,代码来源:MockUtilTest.java

示例5: createProxyClass

import org.mockito.cglib.proxy.Enhancer; //导入依赖的package包/类
public Class<Factory> createProxyClass(Class<?> mockedType, Class<?>... interfaces) {
    if (mockedType == Object.class) {
        mockedType = ClassWithSuperclassToWorkAroundCglibBug.class;
    }

    Enhancer enhancer = new Enhancer() {
        @Override
        @SuppressWarnings("unchecked")
        protected void filterConstructors(Class sc, List constructors) {
            // Don't filter
        }
    };
    Class<?>[] allMockedTypes = prepend(mockedType, interfaces);
    enhancer.setClassLoader(SearchingClassLoader.combineLoadersOf(allMockedTypes));
    enhancer.setUseFactory(true);
    if (mockedType.isInterface()) {
        enhancer.setSuperclass(Object.class);
        enhancer.setInterfaces(allMockedTypes);
    } else {
        enhancer.setSuperclass(mockedType);
        enhancer.setInterfaces(interfaces);
    }
    enhancer.setCallbackTypes(new Class[]{MethodInterceptor.class, NoOp.class});
    enhancer.setCallbackFilter(IGNORE_BRIDGE_METHODS);
    if (mockedType.getSigners() != null) {
        enhancer.setNamingPolicy(NAMING_POLICY_THAT_ALLOWS_IMPOSTERISATION_OF_CLASSES_IN_SIGNED_PACKAGES);
    } else {
        enhancer.setNamingPolicy(MockitoNamingPolicy.INSTANCE);
    }

    enhancer.setSerialVersionUID(42L);

    try {
        return enhancer.createClass();
    } catch (CodeGenerationException e) {
        if (Modifier.isPrivate(mockedType.getModifiers())) {
            throw new MockitoException("\n"
                    + "Mockito cannot mock this class: " + mockedType
                    + ".\n"
                    + "Most likely it is a private class that is not visible by Mockito");
        }
        throw new MockitoException("\n"
                + "Mockito cannot mock this class: " + mockedType
                + "\n"
                + "Mockito can only mock visible & non-final classes."
                + "\n"
                + "If you're not sure why you're getting this error, please report to the mailing list.", e);
    }
}
 
开发者ID:mockito,项目名称:mockito-cglib,代码行数:50,代码来源:ClassImposterizer.java


注:本文中的org.mockito.cglib.proxy.Enhancer类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。