第一次尝试使用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)...
我需要在删除部分之前测试逻辑,但我不在乎它是否真的成功(会是另一回事)。
答案 0 :(得分:1)
您无需致电EasyMock.expect()
。只需使用
this.mockManager.remove(rek);
在录音阶段(在致电replay()
之前)。
如果您想要模拟方法,例如,抛出异常或被调用两次,请使用expectLastCal()
:
this.mockManager.remove(rek);
expectLastCall().andThrow(new RuntimeException());
//or expectLastCall().times(2);