2012-04-24 23 views
5

Bir grails eklenti geliştiriyorum entegrasyon testinde " 'TransactionManager' adlı Hiçbir fasulye tanımlanır", ama hizmet için bir entegrasyon testi oluşturmaya çalıştığınızda bu hatayıGelişmekte grails

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 
alıyorum

Bunu nasıl çözebilirim?

+0

ile işlem dışı bırakacak şekilde ayarlayabilirsiniz. Ne test ediyorsunuz? Birim? Entegrasyon? Denetleyici? Testlerinizin hangi bölümünün notta olduğu. Ben bir test için bir entegrasyon sınaması oluşturmaya çalıştım ... – marko

+0

Bir hizmet için bir entegrasyon sınaması oluşturmaya çalıştım ... Hizmet standart grails klasöründe kalır, tümleştirme sınaması standart klasörde kalır. grails ... hata ben 'notları test-app: entegrasyon' başlattıktan sonra, ben de @TestMixin (GrailsUnitTestMixin) – rascio

+0

ile not ekledim Eğer bir entegrasyon testi oluşturuyorsanız klasör entegrasyonu, test/entegrasyon altında düşünüyorum. – marko

cevap

18

Hazırda bekletme'yi kaldırdıysanız ve başka bir işlem yöneticisi belirtmediyseniz bunun gerçekleşebileceğine inanıyorum. Grails hizmetleri varsayılan olarak işlem niteliğindedir ve Hazırda Beklet bu işlemi yöneten şeydir. Hazırda bekletme özelliğini kullanmıyorsanız, hizmetinizi def transactional = false