例如,我创建了一个对象,并希望为其设置属性。问题是,该属性从未设置,因为EasyMock拦截它。如何解决这个问题?
ctx = control.createMock(EGContext.class);
ctx.setRequestSource("origin");
答案 0 :(得分:2)
我不认为你理解模拟是如何运作的。您永远不需要为模拟设置值。你应该告诉mock返回该值。唯一的例外是当类正在测试自己但是模拟其实现的一部分时的部分模拟。
但是,一般来说,你真正想要的是
ctx = createMock(EGContext.class);
expect(ctx.getRequestSource()).andReturn("origin");
replay(ctx);
顺便说一句,你为什么要使用控件?您使用的是非常古老的EasyMock版本吗?