2009-07-10 11 views
9

Soy nuevo en pruebas unitarias y burlas. Estoy intentando probar la unidad de una clase de dominio abstracta en Grails. ¿Cómo debería simular una implementación para poder probar las restricciones de la clase de dominio? ¿Hay alguna forma de usar las bibliotecas falsas que vienen con groovy o grails? ¿Debería implementar una clase que simplemente extienda la clase abstracta?Pruebas unitarias Clases abstractas en Groovy

Respuesta

9

Una de las cosas buenas de Groovy (entre muchas) es que puedes usar un mapa de nombres de métodos con cierres como valores para burlar una clase. Esto incluye clases abstractas.

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

    abstract int bar() 
} 

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

Groovy ROCKS !!! No puedo creer que sea tan fácil. ¡Muchas gracias! –

+5

¿Qué sucede si la clase abstracta no tiene el constructor predeterminado? – Dan