Joh*_*erg 12 java testing proxy mocking cglib
是否可以检测类是否是代理(动态,cglib或其他)?
让类A
和B
实现一个通用的接口I
.然后我需要定义一个classEquals
签名例程
public boolean classEquals(Class<? extends I> a, Class<? extends I> b);
Run Code Online (Sandbox Code Playgroud)
使得它的计算结果为真仅当a.equals(b)
或Proxy(a).equals(b)
,其中Proxy(a)
表示类型的动态代理A
(动态,CGLIB或其他方式).
在这种帮助下@Jigar Joshi
,到目前为止它是这样的:
public boolean classEquals(Class a, Class b) {
if (Proxy.isProxyClass(a)) {
return classEquals(a.getSuperclass(), b);
}
return a.equals(b);
}
Run Code Online (Sandbox Code Playgroud)
该问题是,它没有检测如,CGLIB代理.