Ich habe allgemeinere Fragen. Welchen Rahmen oder welche Implementierung sollte ich in Grails 2.x verwenden, wenn ich Spock verwende?
Ich kenne eine Menge spöttischen Stil: heble groovy metaClass, Grails mockFor (), Groovy Mock (), Groovy Closure Style, etc. Jeder von ihnen hat seine Vor- und Nachteile. Aber was ich nicht verstehe, ist, dass ein spöttischer Stil bei bestimmten Gelegenheiten funktioniert, die ich nicht bestimmen kann (d. H. MockFor () funktioniert für bestimmte Implementierungen und nicht für die anderen).
Gegenwärtig habe ich zwei ähnliche Implementierungen von Service-Methoden, die spotten.
Das funktioniert:
%Vor%Diese Implementierung funktioniert jedoch nicht:
%Vor%Die Implementierung und der Aufruf des Dienstes durch den Controller ist ziemlich ähnlich. Was ist also die beste Methode, sich in Grails zu verspotten? Oder gibt es irgendeinen GUTEN Spott-Rahmen für Grails, der mir die Zeit sparen würde herauszufinden, wie ich mich verspotten soll?
Danke für irgendeinen Rat! : -)
Mateo
Wenn Sie das spock-Framework zum Testen verwenden, versuchen Sie, die vom Framework selbst bereitgestellten Optionen und Stile zu nutzen.
Spock Framework hilft beim Erreichen einer BDD [Behavioral Design Development]. Mit dem Verhalten, das ich meinte, können Sie das Geschäftsakzeptanzszenario eng an den Entwicklungszyklus koppeln.
Ich habe versucht, Ihren Testfall in Spock zu schreiben, da er wie folgt neu geschrieben werden kann:
%Vor%Wenn Sie oben sehen, definieren Sie das Verhalten in jedem Schritt. Aus Unternehmenssicht wird dieses Verhalten von BA oder den Stakeholdern gesteuert. Auf diese Weise erfüllen Sie ATDD / BDD (Annahmetest Driven Dev / Behavior Test Driven Dev) und eventuell eine TDD (Test Driven Dev) für Ihr Projekt.
Weitere Informationen zur effektiven Verwendung des spock-Frameworks finden Sie in den Dokumenten von spock framework .
Tags und Links grails testing spock grails-2.0