EasyMock预计无效

时间:2013-04-30 11:23:01

标签: jpa-2.0 easymock

第一次尝试使用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)...

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

1 个答案:

答案 0 :(得分:1)

您无需致电EasyMock.expect()。只需使用

this.mockManager.remove(rek);

在录音阶段(在致电replay()之前)。

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

this.mockManager.remove(rek);
expectLastCall().andThrow(new RuntimeException());
//or expectLastCall().times(2);