0

只是第一次尝试 EasyMock。

我似乎开始了,但我立即停止了模拟类运行方法“返回”void(EntityManager.remove(abc))的事实。

我可以部分模拟 EntityManger 以开始测试,即

EasyMock.expect(this.mockManager.find(Some.class, id)).andReturn(mock);

,但我如何为“删除”案例做同样的事情?

我做不到(例如):

EasyMock.expect(this.mockManager.remove(rek)).andReturn(Boolean(true));

如果我什么都不做,我会得到:

java.lang.AssertionError: 
Unexpected method call EntityManager.remove(EasyMock for class my.package.Some)...

我需要在删除部分之前测试逻辑,但我不在乎它是否真的成功(将是另一回事)。

4

1 回答 1

1

你不需要打电话EasyMock.expect()。只需使用

this.mockManager.remove(rek);

在录制阶段(调用之前replay())。

例如,如果您希望模拟方法抛出异常或被调用两次,请使用expectLastCal()

this.mockManager.remove(rek);
expectLastCall().andThrow(new RuntimeException());
//or expectLastCall().times(2);
于 2013-04-30T11:46:19.770 回答