0
有没有办法让EasyMock的@TestSubject
标识工作,当测试主题对象增强与CGLIB?Easymock与@TestSubject增强与CGLIB
场景:所述@TestSubject
对象是一个Spring bean,将其用CGLIB以应用某些方面(假定由于某种原因弹簧不能使用基于JDK的代理)增强。在这种情况下,只需使用@TestSubject
和EasyMockSupport.injectMocks(this)
并不真正有效。 EasyMock注入了模拟,但是在执行期间,由于CGLIB增强类的内部工作原理,模拟实际上并未被使用。最后,它使用的是对象的原始引用,而不是模拟。
我知道的唯一方法是在测试主题中创建一个setter,并手动调用setter来注入模拟器。但是有时候我没有访问权限/时间来更改主题代码以包含setter。