4

我正在使用 easymock 进行单元测试。我正在尝试在测试类中模拟一个方法。

ServiceEJB partialMockServiceEJB = EasyMock
            .createMockBuilder(ServiceEJB.class)
             .addMockedMethod("getStatusType")
            .createMock();

但它会抛出一个错误:多个具有相同名称的方法。我用不同数量的参数覆盖了这个方法。如何显示我想要的这些覆盖方法中的哪一个?我如何在这里应用论点。

谢谢。

4

2 回答 2

4

您可以传入参数类型以区分重载方法,例如

PortalServiceEJB partialMockServiceEJB = EasyMock
            .createMockBuilder(ServiceEJB.class)
             .addMockedMethod("getStatusType", int.class)
            .createMock();

顺便说一句,这不是部分模拟,因为这里没有被部分模拟的真实对象。此外,您可能希望将 Mockito 视为一个模拟框架,其语法在 IMO 上要好得多。

于 2012-07-23T21:36:48.880 回答
2

而不是addMockedMethod()只使用方法的名称,而是使用方法名称及其参数类型作为参数的方法:http ://www.easymock.org/api/easymock/3.1/org/easymock/internal /MockBuilder.html#addMockedMethod%28java.lang.String,%20java.lang.Class...%29

于 2012-07-23T21:36:30.623 回答