Java EasyMock能否支持将多个重载方法添加到createMockBuilder中

Java EasyMock能否支持将多个重载方法添加到createMockBuilder中,java,easymock,Java,Easymock,我正在处理使用EasyMock模拟类的现有测试用例。我重载了一个无参数方法,所以现在有一个方法可以接受字符串。例如: public class HelloClass { // This method always existed. public String methodHello() { ... } // This method is new; it overloads the methodHello() method. public String

我正在处理使用
EasyMock
模拟类的现有测试用例。我重载了一个无参数方法,所以现在有一个方法可以接受字符串。例如:

public class HelloClass {
   // This method always existed.
   public String methodHello() {
       ...
   }
   // This method is new; it overloads the methodHello() method.
   public String methodHello(String msg) {
       ...
   }
}
在测试类中,HelloClass被模拟。因此,我添加了重载方法,这样我们就有了声明:

public static HelloClass mockHelloClass = createMockBuilder(HelloClass.class)
   .addMockedMethod("methodHello")
   .addMockedMethod("methodHello", String.class)
   .createMock();
但是,当我运行测试用例时,它们失败了。当我将
methodHello(String)
方法设置为私有时,测试用例再次通过


EasyMock
是否能够处理添加到
createMockBuilder
的多个重载方法?

我认为您在运行时遇到了此异常:

java.lang.RuntimeException:名称不明确:存在多个方法 名为methodHello

以下是您的模拟对象应该是什么样子:

public static HelloClass mockHelloClass = createMockBuilder(HelloClass.class)
   .addMockedMethod("methodHello", new Class[]{}) // you got this one wrong
   .addMockedMethod("methodHello", String.class)
   .createMock();
您应该清楚地指定要模拟的方法-添加模拟方法,如

addMockedMethod(“methodHello”)

这并不意味着你说的是不带参数的重载变量。这是您表示它的方式:


addMockedMethod(“methodHello”,新类[]{})

我已经做了很多次了,从来没有遇到过问题。将重载方法添加到要模拟的方法集中后,您会收到什么错误消息?完整的堆栈跟踪肯定会有所帮助。