EasyMock 在设置 属性 时拦截
EasyMock intercepts when setting a property
比如我创建了一个对象,想给它设置一个属性。问题是,属性 永远不会设置,因为 EasyMock 拦截了它。如何解决这个问题?
ctx = control.createMock(EGContext.class);
ctx.setRequestSource("origin");
我认为您不了解 mock 的工作原理。您永远不需要为模拟设置值。您应该告诉模拟 return 该值。唯一的例外是部分模拟,当 class 正在测试自身但模拟其实现的一部分时。
但是,一般来说,你真正想要的是
ctx = createMock(EGContext.class);
expect(ctx.getRequestSource()).andReturn("origin");
replay(ctx);
顺便说一句,你为什么要使用控件?您使用的是非常非常旧的 EasyMock 版本?
比如我创建了一个对象,想给它设置一个属性。问题是,属性 永远不会设置,因为 EasyMock 拦截了它。如何解决这个问题?
ctx = control.createMock(EGContext.class);
ctx.setRequestSource("origin");
我认为您不了解 mock 的工作原理。您永远不需要为模拟设置值。您应该告诉模拟 return 该值。唯一的例外是部分模拟,当 class 正在测试自身但模拟其实现的一部分时。
但是,一般来说,你真正想要的是
ctx = createMock(EGContext.class);
expect(ctx.getRequestSource()).andReturn("origin");
replay(ctx);
顺便说一句,你为什么要使用控件?您使用的是非常非常旧的 EasyMock 版本?