Java EasyMock在设置属性时拦截

Java EasyMock在设置属性时拦截,java,easymock,Java,Easymock,例如,我创建了一个对象,并希望为其设置一个属性。问题是,该属性从未设置,因为EasyMock会拦截它。如何避开这个问题 ctx = control.createMock(EGContext.class); ctx.setRequestSource("origin"); 我想你不明白模仿是怎么回事。您永远不需要为模拟设置值。您应该告诉mock返回该值。唯一的例外是,当类正在测试自身但正在模拟其实现的一部分时,会进行部分模拟 但是,总的来说,你真正想要的是 ctx = createMock(EGC

例如,我创建了一个对象,并希望为其设置一个属性。问题是,该属性从未设置,因为EasyMock会拦截它。如何避开这个问题

ctx = control.createMock(EGContext.class);
ctx.setRequestSource("origin");

我想你不明白模仿是怎么回事。您永远不需要为模拟设置值。您应该告诉mock返回该值。唯一的例外是,当类正在测试自身但正在模拟其实现的一部分时,会进行部分模拟

但是,总的来说,你真正想要的是

ctx = createMock(EGContext.class);
expect(ctx.getRequestSource()).andReturn("origin");
replay(ctx);

顺便问一下,你为什么要使用控件?您使用的是一个非常古老的EasyMock版本?

我认为您不了解模拟是如何工作的。您永远不需要为模拟设置值。您应该告诉mock返回该值。唯一的例外是,当类正在测试自身但正在模拟其实现的一部分时,会进行部分模拟

但是,总的来说,你真正想要的是

ctx = createMock(EGContext.class);
expect(ctx.getRequestSource()).andReturn("origin");
replay(ctx);
顺便问一下,你为什么要使用控件?您使用的是非常旧的EasyMock版本