2012-04-24 13 views
5

Estoy desarrollando un plugin griales, pero cuando intento crear una prueba de integración para un servicio que estoy recibiendo este errorgriales desarrollo de plug-in "No bean llamado 'transactionManager' se define" en la prueba de integración

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'aService': Cannot resolve reference to bean 'transactionManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'transactionManager' is defined 
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:232) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:61) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:223) 
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:29) 
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:300) 
at org.junit.runners.Suite.runChild(Suite.java:129) 
at org.junit.runners.Suite.runChild(Suite.java:24) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:232) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:61) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:223) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:300) 
at _GrailsTest_groovy$_run_closure4.doCall(_GrailsTest_groovy:290) 
at _GrailsTest_groovy$_run_closure2.doCall(_GrailsTest_groovy:249) 
at _GrailsTest_groovy$_run_closure1_closure21.doCall(_GrailsTest_groovy:195) 
at _GrailsTest_groovy$_run_closure1.doCall(_GrailsTest_groovy:184) 
at TestApp$_run_closure1.doCall(TestApp.groovy:82) 
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'transactionManager' is defined 
... 24 more 

¿cómo puedo solucionarlo?

+0

¿Qué está probando? ¿Unidad? ¿Integración? ¿Controlador? ¿Qué carpeta son tus pruebas en materia en griales? No he tenido mucho éxito con las pruebas en grial ... – marko

+0

He intentado crear una prueba de integración para un servicio ... el servicio se mantiene en la carpeta estándar de griales, la prueba de integración permanece en la carpeta estándar de Grails ... el error es después de que he lanzado 'grails test-app: integración', también he anotado la clase con @TestMixin (GrailsUnitTestMixin) – rascio

+0

Si estás creando una prueba de integración, debes ponerla en una carpeta llamada integración, bajo prueba/integración, creo. – marko

Respuesta

18

Creo que esto puede ocurrir si ha desinstalado Hibernate y no especifica otro administrador de transacciones. Los servicios de Grails por defecto son transaccionales y Hibernate es lo que administra esa transacción. Si no está utilizando Hibernate puede configurar su servicio para que no sea transaccional con def transactional = false

Cuestiones relacionadas