Spring CGLib和EasyMock - 尝试重复的类定义

时间:2014-12-10 18:30:39

标签: spring proxy easymock cglib

您是否可以同时模拟Spring中定义的类并在Spring中代理单元测试? 我不断收到重复的类定义问题,因为spring代理使用与easymock生成的代理相同的类名,因为它们都使用CGLib进行代理。

为什么它会生成相同的名称?为什么不能生成随机名称?是否有设置使其工作?

我正在使用以下内容。

  

Spring 3.0
  EasyMock 3.2
  CGLib 2.2.2(nodep)

参考文献:   Easymock3 Spring4.0.0.RELEASE cglib compatibility

1 个答案:

答案 0 :(得分:2)

发生此错误是因为两者都独立使用DefaultNamingPolicy,它根据提供的拦截器的哈希码计算类的名称。此命名政策声称它检测到重复的名称,但此does not seem to work。因此,您应该在Spring或EasyMock中设置不同的命名策略,以解决此冲突。