Java 带有抽象方法的groovy模拟

Java 带有抽象方法的groovy模拟,java,groovy,mocking,abstract,stub,Java,Groovy,Mocking,Abstract,Stub,我有一个名为Parameter的Java对象,我正试图用groovy模拟它。参数是具有1个抽象方法的抽象类。它还有一个名为getName()的非抽象方法。我试图在Groovy中模拟它,如下所示: def p1 = [name:{"p1Name"}] as Parameter 但是我得到了一个运行时错误,因为我没有实现抽象方法。如果我试图创建一个mock,为什么我需要实现抽象方法 谢谢, Jeff通过使用映射进行模拟,您正在创建Parameter类型的实例,因此它必须实现Parameter类的

我有一个名为Parameter的Java对象,我正试图用groovy模拟它。参数是具有1个抽象方法的抽象类。它还有一个名为getName()的非抽象方法。我试图在Groovy中模拟它,如下所示:

 def p1 = [name:{"p1Name"}] as Parameter
但是我得到了一个运行时错误,因为我没有实现抽象方法。如果我试图创建一个mock,为什么我需要实现抽象方法

谢谢,
Jeff

通过使用映射进行模拟,您正在创建Parameter类型的实例,因此它必须实现Parameter类的任何抽象方法

abstract class Parameter {
  abstract String getOtherName() 
  String getName() { return "test" }
}

def p1 = [name:{"p1Name"}, getOtherName:{""}] as Parameter

我最初期望它的行为类似于easymock的类扩展,但后来我意识到它不会。非常感谢。