我正在使用easymock进行单元测试。我试图在测试类中模拟一个方法。
ServiceEJB partialMockServiceEJB = EasyMock
.createMockBuilder(ServiceEJB.class)
.addMockedMethod("getStatusType")
.createMock();
但是它会抛出一个错误:多个同名的方法。我用不同数量的参数覆盖了这个方法。如何显示我想要的这些被覆盖的方法?我如何在这里应用参数。
感谢。
答案 0 :(得分:3)
您可以传入参数类型以区分重载方法,例如
PortalServiceEJB partialMockServiceEJB = EasyMock
.createMockBuilder(ServiceEJB.class)
.addMockedMethod("getStatusType", int.class)
.createMock();
顺便说一下,这不是局部模拟因为没有真正的对象在这里被部分嘲笑。另外,你可能想要将Mockito视为一个模拟框架,语法更好的IMO。
答案 1 :(得分:2)
不使用仅包含方法名称的addMockedMethod()
,而是使用方法名称及其参数类型作为参数:http://www.easymock.org/api/easymock/3.1/org/easymock/internal/MockBuilder.html#addMockedMethod%28java.lang.String,%20java.lang.Class...%29