开发者

groovy mocks with abstract methods

开发者 https://www.devze.com 2022-12-08 12:54 出处:网络
I have a Java object called Parameter and I\'m trying to mock it using groovy. Parameter is an abstract class with 1 abstract method. It also has a non-abstract meth开发者_JAVA百科od called getName().

I have a Java object called Parameter and I'm trying to mock it using groovy. Parameter is an abstract class with 1 abstract method. It also has a non-abstract meth开发者_JAVA百科od called getName(). I'm trying to mock it as follows in Groovy:

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

But I get a runtime error because I don't implement the abstract method. If I'm trying to create a mock, why would I need to implement the abstract method?

thanks, Jeff


By mocking using the map you are creating an instance of type Parameter and so it must implement any abstract methods of the Parameter class.

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

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

精彩评论

暂无评论...
验证码 换一张
取 消