[SPRING] 내 스프링 JPA 통합 테스트를 위해 일을 @Rollback를 가져올 수 없습니다
SPRING내 스프링 JPA 통합 테스트를 위해 일을 @Rollback를 가져올 수 없습니다
이곳이 내가 가진 약간의 테스트 클래스입니다. 문제는 각 테스트 실행 후 트랜잭션을 롤백되지 않는 것입니다. 내가 뭘 잘못 했나? :)
@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);
}
}
내 스프링 설정
<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 />
해결법
-
==============================
1.당신은 @TransactionConfiguration에 추가 @Transactional이 필요합니다 :
당신은 @TransactionConfiguration에 추가 @Transactional이 필요합니다 :
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "/META-INF/catalog-spring.xml" }) @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true) @Transactional public class TermTest { ... }
-
==============================
2.봄 4.0 이상에서 TransactionConfiguration은 더 이상 사용되지 않기 때문에
봄 4.0 이상에서 TransactionConfiguration은 더 이상 사용되지 않기 때문에
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "/config/spring-config.xml") @Transactional public class UserTest { @Rollback public void test(){ } }
from https://stackoverflow.com/questions/4098456/cannot-get-rollback-to-work-for-my-spring-jpa-integration-test by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 봄 사양 및 Pageable를 (0) | 2019.10.04 |
---|---|
[SPRING] 어떻게 잭슨 objectmapper에 dateformat 설정 봄에 MVC 설정을 추가하는 방법은 무엇입니까? (0) | 2019.10.04 |
[SPRING] OFFSET 봄 데이터 Pageable를하고 LIMIT / (0) | 2019.10.04 |
[SPRING] 봄 부팅 thymeleaf로 이미지를로드 할 수 없습니다 (0) | 2019.10.04 |
[SPRING] 어떻게 spring.jpa.hibernate.ddl - 자동 속성을 정확히 봄에서 작동합니까? (0) | 2019.10.03 |