Модульное тестирование Абстрактные классы в Groovy - PullRequest
9 голосов
/ 10 июля 2009

Я новичок в модульном тестировании и издевательствах. Я пытаюсь провести модульное тестирование абстрактного класса домена в Grails. Как я должен издеваться над реализацией, чтобы я мог провести модульное тестирование ограничений класса домена? Есть ли способ использовать фиктивные библиотеки, которые поставляются с Groovy или Grails? Должен ли я просто реализовать класс, который просто расширяет абстрактный класс?

1 Ответ

10 голосов
/ 11 июля 2009

Одна из замечательных особенностей groovy (среди многих) состоит в том, что вы можете использовать карту имен методов с замыканиями в качестве значений для макета класса. Это включает в себя абстрактные классы.

abstract class Foo {
    def foo() {
       return bar() + 1
    }    

    abstract int bar()
}

def fooInst = [bar: {-> return 1 }] as Foo
assert 2 == fooInst.foo()
...