EasyMock和Unitils相当于Mockito @ InjectMocks

Bal*_*ala 5 java easymock mocking mockito unitils

EasyMock或Unitils Mock(非Unitils支持的EasyMock)中是否有任何技术可以将模拟直接注入到被测试类中?

例如.在Mockito中,可以将mocks直接注入类的成员变量中,

public class TimeTrackerTest {
    @InjectMocks   // Used to create an instance the CUT
    private TimeTrackerBean cut;
    @Mock  // Used to create a Mock instance
    EntityManager em;
    @Before
    public void injectMockEntityManager() {
        MockitoAnnotations.initMocks(this);   // Injects Mocks into CUT
    }
    @Test
    ...
}
Run Code Online (Sandbox Code Playgroud)

这样的事情可以用EasyMock或Unitils Mock完成吗?在easymock中,我们需要在CUT中使用单独的setter方法来支持测试中的注入.我是对的还是方向注射在某种程度上是可能的?

-谢谢

jhe*_*cks 5

我不知道有任何注释可以让你用EasyMock做到这一点,但是,Spring有ReflectionTestUtils,它可以让你轻松地向私有字段注入,而无需setter方法.在我切换到Mockito之前,我发现这个课程非常宝贵.


小智 5

也许这个线程已经死了,但是是的,您现在可以使用带有标签@ TestSubject,@ Mock的EasyMock 3.2并使用@RunWith(EasyMockRunner.class)运行测试。看到这个写得很好的(不是我的!)示例:

http://henritremblay.blogspot.ie/2013/07/easymock-32-is-out.html