Inyectar dependencias en la prueba de especificación de Grails Spock.

Necesito que las dependencias se inyecten en los objetos de mi dominio en mis pruebas.

Estas pruebas se colocan en el directorio de prueba / integración y se extienden desdespock.lang.Specification.

¿Cómo puedo conseguir esto?

Nota: He visto esta publicación.Cómo inyectar los frijoles de primavera en la prueba spock, pero no está relacionado con los griales.

Editar:

La dependencia que quiero inyectar esspringSecurityService en miSecUser subclase llamadaPlayer. El método que está fallando es elencodePassword(), que se llama en elbeforeInsert().

Puedo burlarme de estoencodePassword() Método en algunas pruebas, pero cuando quiero probar mi método de controladoressave(), No puedo burlarme delPlayer que se está creando porque todo sucede dentro del método de los controladores.

Después de cambiar para ampliarIntegrationSpec, este es mi código de prueba:

package intertigre.test.domain
import intertigre.domain.Fecha;
import intertigre.test.util.DomainFactoryTestService
import grails.plugin.spock.IntegrationSpec
import grails.test.mixin.TestFor

    @TestFor(Fecha)
    class FechaSpec extends IntegrationSpec{

    DomainFactoryTestService domainFactoryTestService = new DomainFactoryTestService()

    def 'test'(){
        given:
            def fecha = new Fecha()
        when:
            fecha.save()
        then:
            Fecha.get(1) == fecha
    }

}

Estoy recibiendo esta excepción cuando se ejecutagrails test-app :spock:

java.lang.NullPointerException: Cannot get property 'mainContext' on null object
    at grails.plugin.spock.IntegrationSpec.$spock_initializeSharedFields(IntegrationSpec.groovy)

Y este cuando corro la prueba solo:

| Failure:  intertigre.test.domain.FechaSpec
|  java.lang.NullPointerException: Cannot get property 'autowireCapableBeanFactory' on null object
    at grails.plugin.spock.IntegrationSpec.setupSpec(IntegrationSpec.groovy:47)
| Failure:  intertigre.test.domain.FechaSpec
|  java.lang.NullPointerException: Cannot invoke method isActive() on null object
    at grails.test.mixin.support.GrailsUnitTestMixin.shutdownApplicationContext(GrailsUnitTestMixin.groovy:232)
    at org.spockframework.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:176)
    at org.spockframework.runtime.extension.builtin.JUnitFixtureMethodsExtension$FixtureType$FixtureMethodInterceptor.intercept(JUnitFixtureMethodsExtension.java:145)
    at org.spockframework.runtime.extension.MethodInvocation.proceed(MethodInvocation.java:84)
    at org.spockframework.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:176)

Respuestas a la pregunta(2)

Su respuesta a la pregunta