2009-07-10 22 views
9

Jestem nowy w testowaniu jednostkowym i szyderczym. Próbuję przetestować abstrakcyjną klasę domen w Grails. Jak mam kpić z implementacji, aby móc przetestować ograniczenia klasy domeny? Czy istnieje sposób korzystania z fałszywych bibliotek, które pochodzą z groovy lub grails? Czy powinienem po prostu zaimplementować klasę, która po prostu rozszerza klasę abstrakcyjną?Testowanie jednostek Klasy abstrakcyjne w Groovy

Odpowiedz

9

Jedną z fajnych rzeczy o groovy (wśród wielu) jest to, że można użyć mapy nazw metod z zamknięciami jako wartości, aby wyśmiewać klasę. Obejmuje to zajęcia abstrakcyjne.

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 !!! Nie mogę uwierzyć, że to takie proste. Dziękuję Ci bardzo! –

+5

Co się stanie, jeśli klasa abstrakcyjna nie ma domyślnego konstruktora? – Dan