2010-11-04 21 views
6

Burada sahip olduğum küçük bir test dersi var. Sorun, her test çalışmasından sonra işlemin geri çekilmemesidir. Neyi yanlış yaptım? :) İlkbahar JPA Entegrasyon Testim için çalışmak için @Rollback alınamıyor

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations = { "/META-INF/catalog-spring.xml" }) 
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true) 
public class TermTest 
{ 
    @Autowired 
    private CatalogService service; 
    @Rollback(true) 
    @Test 
    public void testSimplePersist() 
    { 
     Term term = new Term(); 
     term.setDescription("Description"); 
     term.setName("BirdSubject8"); 
     term.setIsEnabled("F"); 
     term.setIsSystem("F"); 
     term.setTermType("TERM"); 
     service.createTerm(term); 
    } 
} 

ve benim bahar yapılandırma

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean"> 
    <property name="persistenceUnitName" value="catalog2"></property> 
</bean> 

<bean id="catalogService" class="com.moo.catalog.service.CatalogService"> 
    <property name="termDao" ref="termDao"></property> 
</bean> 

<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /> 

<bean id="transactionManager" 
     class="org.springframework.orm.jpa.JpaTransactionManager"> 
    <property name="entityManagerFactory" ref="entityManagerFactory" /> 
</bean> 

<tx:annotation-driven /> 

cevap

14

Sen @TransactionConfiguration ilaveten @Transactional gerekir:

ilkbahar sonra 4.0
@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations = { "/META-INF/catalog-spring.xml" }) 
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true) 
@Transactional 
public class TermTest { ... } 
+0

I kullanımdan kaldırıldı çünkü l sana borçluyum! (Eğer çok hızlı bir şekilde cevap verdin, bir 4 dakika daha ihtiyacım var cevabı kabul edebilirim) – willcodejavaforfood

+1

tam olarak ne zaman vermiş olsaydım vermiş olurdum (+1) –

+0

@seanizer - En az yorumda bulunun :) – willcodejavaforfood

0

TransactionConfiguration

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations = "/config/spring-config.xml") 
@Transactional 
public class UserTest { 
    @Rollback 
    public void test(){ 
    } 
} 
İlgili konular