Spock GlobalExtension ist nicht geladen (Grails)

8

Ich möchte einen Listener für alle Spockgeb-Specs in meiner Grails-App registrieren, also habe ich eine IGlobalExtension zu myapp / src / groovy

hinzugefügt %Vor%

Anschließend habe ich die Datei org.spockframework.runtime.extension.IGlobalExtension zu myapp / src / resources / META-INF / services hinzugefügt, die die Zeile

enthält %Vor%

Wenn ich nun grails test-app functional: verwende, sollte die Extension zwar geladen werden, aber ich sehe den "ADDING LISTENER" nirgendwo in der Ausgabe. Was mache ich falsch?

    
Moritz 12.12.2013, 20:35
quelle

2 Antworten

2

Der richtige Ort für die Datei IGlobalExtension scheint zu sein grails-app/conf/META-INF/services , aber dann bekomme ich class not found Exception , weil spock meine Erweiterungsklasse nicht laden kann. Irgendeine Idee, wo ich das hinstellen muss?

    
rdmueller 17.11.2014 21:33
quelle
1

Ich bin mir nicht sicher, was genau die Klassenpfadkonfiguration beim Ausführen von Funktionstests ist, aber ich vermute, dass myapp/src/resources/META-INF/services/org.spockframework.runtime.extension.IGlobalExtension möglicherweise nicht zum Testklassenpfad hinzugefügt wird und daher Spock nichts über Ihre Erweiterung weiß. Ich würde versuchen, diese Datei unter myapp/test/functional/META-INF/services/org.spockframework.runtime.extension.IGlobalExtension zusammen zu verschieben, indem ich die Erweiterungsklasse auch unter myapp/test/functional verschiebe.

    
erdi 14.12.2013 13:06
quelle

Tags und Links