【发布时间】:2018-04-06 01:06:21
【问题描述】:
我正在尝试用 Java 编写单元测试。由于 Java 类的结构,我必须想出一种方法,每当调用类的构造函数时,都会创建该类的模拟对象。我想模拟该类的 2 个方法。
CallToBeMocked mockCallToBeMocked = EasyMock.createMockBuilder(CallToBeMocked.class)
.withConstructor(ArgumentA.class, ArgumentB.class, ArgumentC.class)
.withArgs(mockArgumentA, mockArgumentB, mockArgumentC)
.addMockedMethod("isProxied", ArgumentA.class)
.addMockedMethod("remoteCall", String.class, ArgumentA.class, Object.class)
.createMock();
EasyMock.expect(mockCallToBeMocked.isProxied(mockArgumentA)).andReturn(false);
EasyMock.expect(mockCallToBeMocked.remoteCall("ip-address", mockArgumentA, null)).andThrow(new Exception()).times(3);
问题在于,虽然我已经明确指出必须模拟 isProxied 和 remoteCall 方法并且我对这些方法给出了适当的期望,但它仍然开始进入这些方法的实际实现。
【问题讨论】:
-
如果需要任何其他详细信息,请告诉我。
-
方法是最终的吗?
-
不,他们不是。
标签: java unit-testing easymock