2009-10-07 4 views
2

У меня есть объект Java под названием Parameter, и я пытаюсь издеваться над ним, используя groovy. Параметр представляет собой абстрактный класс с 1 абстрактным методом. Он также имеет не абстрактный метод, называемый getName(). Я пытаюсь дразнить его следующим образом в Groovy:groovy mocks с абстрактными методами

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

Но я получаю сообщение об ошибке выполнения, потому что я не реализовать абстрактный метод. Если я пытаюсь создать макет, зачем мне нужно использовать абстрактный метод?

спасибо, Джефф

ответ

3

По насмешливый, используя карту, которую вы создаете экземпляр типа параметра и поэтому он должен реализовать любые абстрактные методы класса параметров.

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

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

Первоначально я ожидал, что это будет вести себя как расширение класса easymock, но я так понял, что это не так. Спасибо. –

Смежные вопросы