【发布时间】:2014-12-16 01:15:50
【问题描述】:
我正在处理使用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 的多个重载方法?
【问题讨论】:
-
我已经做过很多次了,从来没有遇到过问题。将重载方法添加到要模拟的方法集中后,您收到的错误消息是什么?完整的堆栈跟踪肯定会有所帮助。