9 Stimmen

Unit Testing Abstrakte Klassen in Groovy

Ich bin neu in Unit Testing und Mocking. Ich versuche, Unit-Test eine abstrakte Domain-Klasse in Grails. Wie sollte ich eine Implementierung mocken, so dass ich die Einschränkungen der Domänenklasse testen kann? Gibt es eine Möglichkeit, die Mock-Bibliotheken zu verwenden, die mit Groovy oder Grails kommen? Sollte ich einfach eine Klasse implementieren, die einfach die abstrakte Klasse erweitert?

12voto

Ted Naleid Punkte 25891

Eine coole Sache über Groovy (unter vielen) ist, dass Sie eine Karte von Methodennamen mit Schließungen als Werte verwenden können, um eine Klasse zu mock out. Dies schließt abstrakte Klassen ein.

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

    abstract int bar()
}

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X